Я уже видел несколько сообщений по этому поводу, но они не соответствуют моему случаю. У меня есть следующие настройки: ВМ с публичным IP-адресом 1.1.1.1(eth0). Эта машина также имеет закрытый интерфейс. Частный IP-адрес: 2.2.2.2, eth1. На той же машине VMware у меня есть другая виртуальная машина, которая имеет только частный интерфейс (ip 2.2.2.3, eth0) с частным IP-адресом. Я ищу доступ к Интернету через этот частный интерфейс машины VMware. На этой машине также настроен RDP на порт, у меня есть следующие правила, которые работают для удаленного соединения, но публичный трафик на этой машине не работает. Сеанс RDP находится на порте 1337.

iptables -I FORWARD -m comment --comment "Accept to forward rdp return traffic" -s 2.2.2.3 -m tcp -p tcp --sport 1337 -j ACCEPT
iptables -t nat -I PREROUTING -m tcp -p tcp --dport 1337 -m comment --comment "redirect pkts to virtual machine" -j DNAT --to-destination 2.2.2.3:1337
iptables -I FORWARD -d PUBLIC.IP.1.1.1.1 -m comment --comment "Accept to forward rdp traffic" -m tcp -p tcp --dport 1337 -j ACCEPT
iptables -t nat -I POSTROUTING -m comment --comment "NAT the src ip" -d 2.2.2.3 -o eth1 -j MASQUERADE

Заранее спасибо!

1 ответ1

0

Мне удалось это исправить самому. Это было мое решение на случай, если у кого-то возникнет такая же проблема:

iptables -t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -A FORWARD --in-interface eth1 -j ACCEPT 2.2.2.3:1337
iptables -t nat -A PREROUTING -p udp -d PUBLICIP --dport 1337 -j DNAT --to 2.2.2.3:1337
iptables -A FORWARD -d 2.2.2.3 -p tcp -m tcp --dport 1337 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .