Я установил работающие сервер и клиент OpenVPN и, по-видимому, могу нормально подключаться друг к другу.
Я пытаюсь направить весь клиентский трафик (Интернет + DNS) через VPN-сервер, но он не работает. В руководстве по OpenVPN я делаю:
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
И это явно ничего не делает. После подключения к VPN клиент может нормально пинговать сервер, но не имеет абсолютно никакого доступа к Интернету.
Делать
sudo iptables -S или sudo iptables -L
не похоже, что что-то изменилось .. Я изменил файлы конфигурации сервера и клиента в соответствии с инструкциями руководства.
Любая помощь была бы замечательной, спасибо.
Обновить
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 10.8.0.0/24 0.0.0.0/0
MASQUERADE all -- 10.8.0.0/24 0.0.0.0/0
MASQUERADE all -- 10.8.0.0/24 0.0.0.0/0
MASQUERADE all -- 10.8.0.0/24 0.0.0.0/0
После разговора с OP мы пришли к выводу, что это проблема с конфигурацией DNS, когда OpenVPN проталкивал «10.8.0.1» в качестве DNS-сервера через DHCP. Поскольку на VPN-сервере не было запущенного сервера имен, клиент не мог разрешить удаленные узлы.
Установка «8.8.8.8» в качестве DNS-сервера через DHCP OpenVPN решила проблему.
Нам также нужно было включить ip_forward.
OP необходимо добавить в /etc/sysctl.conf следующее:
net.ipv4.ip_forward = 1
(или раскомментируйте, если строчка уже есть)