Я хочу дублировать порт 127.0.0.1:27017 на 127.0.0.1:27018.
Мои первоначальные попытки использовали таблицы ip:
iptables -t nat -I PREROUTING -p tcp --dport 27018 -j REDIRECT --to-port 27017
(И вариации этой идеи). Но это не сработало.
mongo --host 127.0.0.1 --port 27018
MongoDB shell version: 2.6.10
connecting to: 127.0.0.1:27018/test
2019-01-12T04:04:12.403+0000 warning: Failed to connect to 127.0.0.1:27018, reason: errno:111 Connection refused
2019-01-12T04:04:12.404+0000 Error: couldn't connect to server 127.0.0.1:27018 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
Каков правильный способ разрешить одному экземпляру mongo быть доступным через 27017 и 27018.
Пакеты, предназначенные для интерфейса обратной связи, не проходят через PREROUTING
цепь. Вам нужно использовать OUTPUT
цепь.
iptables -t nat -A OUTPUT -o lo -p tcp --dport 27018 -j REDIRECT --to-port 27017