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

Перенаправление IP-трафика без NAT (Ubuntu 14.04)

Я настраивал OpenVPN, и все стандартные руководства, которым я следую, предлагают настроить iptables чтобы VPN-сервер выполнял NAT на VPN-клиентах:

iptables -t nat -A POSTROUTING -s *vpn-ip-range* -o eth0 -j MASQUERADE

Это прекрасно работает. Однако из-за NAT все журналы на других наших внутренних машинах сообщают о трафике, поступающем с IP-адреса сервера VPN, а не с IP-адреса клиента.

Я хотел бы удалить NAT и использовать IP-адрес клиента по всей сети (в целях аудита). Я уже сделал следующее:

Последний шаг - обновление iptables. Вот где я не могу заставить его работать.

Сетевая карта есть eth0 и весь трафик OpenVPN включен tun0. Все, что я хочу сделать, это чтобы VPN-сервер перенаправлял трафик между этими интерфейсами, когда он связан с 10.0.0.0/8 трафик.

Может ли кто-нибудь подсказать, как я бы это сделал?

Мне удалось это решить. Хотя я уже добавил net.ipv4.ip_forward=1 к /etc/sysctl.conf (на что указывают большинство руководств), мне также нужно добавить net.ipv4.conf.all.proxy_arp=1.

В iptables тогда конфигурация просто должна разрешить весь трафик на обоих интерфейсах, и она работает!

Быстрый способ решения этой проблемы может заключаться в изменении того, как работает ведение журнала, чтобы он записывал значения $ http_x_forwarded_for, которые затем будут регистрировать фактический IP-адрес клиента.

Не уверен, что вы сможете изменить способ ведения журнала, но я надеюсь, что это поможет.