Takun
@Takun
Инженер

Почему не видит внешний 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


Заранее благодарю за ответы.
  • Вопрос задан
  • 1882 просмотра
Решения вопроса 1
@Wexter
вот ваша причина, у вас весь трафик маскарадится, т.е в любом пакете проходящем через этот сервер ip будет подменён на ip сервера
iptables -t nat -A POSTROUTING -j MASQUERADE
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@krosh
Это нормально, так NAT (Network Address Translation, сетевая трансляция адресов) и работает - подменяет в заголовках пакета один адрес на другой, поэтому у Вас и получается проброс портов и сокрытие внутренней сети от внешнего наблюдателя.

Вы будете видеть правильные удаленные адреса в случае с маршрутизируемой сетью, т.е. когда не будет NAT, а будет просто проброс трафика с одного интерфейса на другой. Ну или прокси-сервер ставить. Еще есть варинат с VPN-сервером, но тогда каждому клиенту нужно будет ставить vpn-клиента и все будут в одной виртуальной подсети, но все же на конечном сервере Вы будете видеть серые адреса, хотя на VPN-сервере сможете соотнести белый-серый. Наверное других способов тут нет.

Правила в INPUT не работают, можете их убрать. И рекомендуется MASQUERADE менять на SNAT, если внешний адрес постоянный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы