Назад | Перейти на главную страницу

iptables переадресация порта между двумя IP-адресами на одном сервере.

у сервера есть два IP-адреса A и B (шлюз по умолчанию - B) Я хочу перенаправить порт 443 на IP C: 443, чтобы я мог подключить A: 443 ---- к --- c: 443

если я использую (от A: 443 NAT до C: 443), это не сработает

-A PREROUTING -d A/32  -p tcp -m tcp --dport 443 -j  DNAT --to-destination C:443
-A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source A:443

если я использую (B: 443 NAT на C: 443), я могу подключить B: 443, но это не то, что я хочу

  -A PREROUTING -d B/32  -p tcp -m tcp --dport 443 -j  DNAT --to-destination C:443
  -A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source B:443

и это не сработало, даже если я использую (от A: 443 NAT до B: 443 B: 443 до C: 443)

-A PREROUTING -d A/32  -p tcp -m tcp --dport 443 -j  DNAT --to-destination B:443
-A POSTROUTING -d B/32 -p tcp -m tcp --dport 443 -j SNAT --to-source A:443

-A PREROUTING -d B/32  -p tcp -m tcp --dport 443 -j  DNAT --to-destination C:443
-A POSTROUTING -d C/32 -p tcp -m tcp --dport 443 -j SNAT --to-source B:443

так как я могу сделать эту работу, спасибо

Если я вас правильно понял (если вы хотите перенаправить порт 443 с A на C), вам следует настроить iptables следующим образом:

*nat
-A PREROUTING -d A/32 -p tcp -m tcp --dport 443 -j DNAT --to-destination C:443
-A POSTROUTING -p tcp -m tcp --dport 443 -j MASQUERADE

Также вы должны проверить свою конфигурацию iptables на наличие правила -A FORWARD -j REJECT --reject-with icmp-host-prohibited он вообще отключает пересылку. И вы должны были включить net.ipv4.ip_forward в sysctl.