Почему не видит внешний ip адрес пользователя? Добрый вечер, появилась непонятка с маршрутизацией через iptables.Имеется сервер на Debian 9(Xen Dom0), с него с помощью iptables пробрасывается 1010 порт на VM(DomU), собственно на этой машинке крутится игровой сервер и пользователи цепляются через этот порт на него и в итоге они получают странные ip адреса, точнее подключаются под странными: 192.168.1.1:43570 192.168.1.1:32478 А внешние их не видно.Не понимаю в чем проблема, можете подсказать? Ниже настройки и как это построено. Работает такая цепочка, внешний интерфейс eth0 c ip адресом 88.90.73.149, с него происходит проброс через iptables на xenbr0(мост), который является шлюзом с адресом 192.168.1.1 для всех VM.iptables -A INPUT -p udp --dport 1010 -j ACCEPT iptables -A INPUT -p tcp --dport 1010 -j ACCEPT iptables -t nat -I PREROUTING -p udp -d 88.90.73.149 --dport 1010 -j DNAT --to-destination 192.168.1.10:1010 iptables -t nat -I PREROUTING -p tcp -d 88.90.73.149 --dport 1010 -j DNAT --to-destination 192.168.1.10:1010 iptables -t nat -A POSTROUTING -j MASQUERADE Заранее благодарю за ответы.
Проблема возможно связана с тем, что вы используете MASQUERADE в правилах iptables. MASQUERADE преобразует внутренние IP-адреса внутри вашей сети во внешний IP-адрес вашего сервера. Это может быть полезно для маршрутизации внутреннего трафика в интернет, но в вашем случае это мешает пробросу портов.
Это должно помочь сохранить оригинальный IP-адрес пользователей при пробросе портов. После внесения изменений, попробуйте подключиться к игровому серверу снова и проверьте, помогло ли это решить проблему.
Проблема возможно связана с тем, что вы используете MASQUERADE в правилах iptables. MASQUERADE преобразует внутренние IP-адреса внутри вашей сети во внешний IP-адрес вашего сервера. Это может быть полезно для маршрутизации внутреннего трафика в интернет, но в вашем случае это мешает пробросу портов.
Попробуйте заменить строку:
iptables -t nat -A POSTROUTING -j MASQUERADE
на:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 88.90.73.149
Это должно помочь сохранить оригинальный IP-адрес пользователей при пробросе портов. После внесения изменений, попробуйте подключиться к игровому серверу снова и проверьте, помогло ли это решить проблему.