у сервера есть два 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
.