У меня есть маршрутизатор на базе linux (BusyBox). Я могу войти в систему на терминал по telnet. Я хочу перенаправить wan-порт на ip_external: порт
, например:
my wan ip (on my router):77.30.109.251
my wan port (on my router):1188
my external remote ip (on my vps):92.222.75.159
my remote port (on my vps):1180
Я просто пытаюсь перенаправить 77.30.109.251:1188 на 92.222.75.159:1180 с помощью iptables, и все
i попробовали с помощью этой рекомендации, но все еще отображаются как отфильтрованные, когда я тестирую его на ipfingerprints.com/portscan.php ip: 77.30.109.251 порт: 1188
iptables -t nat -A PREROUTING -i ppp111 -p tcp --dport 1188 -j DNAT --to 92.222.75.159:1180
iptables -t nat -A PREROUTING -p tcp --dport 1180 -j DNAT --to 92.222.75.159:1180
iptables -t nat -A POSTROUTING -p tcp -d 92.222.75.159 --dport 1180 -j MASQUERADE
Чтобы перенаправить весь входящий tcp-трафик с интерфейса ppp111 с IP-адресом назначения 77.30.109.251 и портом назначения 1188 на IP-адрес 92.222.75.159 и порт 1180, достаточно использовать это правило iptables:
iptables -t nat -A PREROUTING -i ppp111 -d 77.30.109.251 -p tcp --dport 1188 -j DNAT --to 92.222.75.159:1180
Вам также необходимо проверить, есть ли там - это правило, которое принимает пересылку от ppp111 к внешнему интерфейсу, и если пересылка включена в ядре:
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
1
означает, что она включена. Если вы видите = 0
, вы можете сделать это sysctl -w net.ipv4.ip_forward = 1
.
Если вы хотите замаскировать трафик, используйте -o
option (выходной интерфейс):
iptables -t nat -A POSTROUTING -p tcp -d 92.222.75.159 --dport 1180 -o $EXTERNAL_IFACE -j MASQUERADE
Рекомендуется также использовать параметр -i
(входной интерфейс), чтобы предотвратить маскировку из ненадежных сетей.
Если вы используете это:
iptables -t nat -A PREROUTING -i ppp111 -p tcp --dport 1188 -j DNAT --to 92.222.75.159:1180
, тогда вы перенаправить весь имеющийся у вас TCP-трафик с интерфейса ppp111 с портом назначения 1188 на 92.222.75.159:1180. Вы не проверяете IP-адрес назначения, поэтому трафик для 8.8.8.8:1188 также будет перенаправлен через это правило.
Так что будьте осторожны и аккуратны при написании правил брандмауэра!