我想将端口 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 访问的正确方法是什么。
答案1
发往环回接口的数据包不会经过该PREROUTING
链。您需要使用该OUTPUT
链。
iptables -t nat -A OUTPUT -o lo -p tcp --dport 27018 -j REDIRECT --to-port 27017