Я установил openvpn, и он работает. пинг от клиента к серверу и обратно работает нормально. но теперь я хотел перенаправить весь клиентский трафик через vpn. поэтому я сделал следующие шаги, как указано в документации.
на стороне сервера:
в server.conf я помещаю push "redirect-gateway def1"
и я включил маршрутизацию через iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
на стороне клиента:
на самом деле ничего, сервер делает все для клиента, я запускаю его на win7 с помощью: openvpn.exe --config client.ovpn
Теперь моя таблица маршрутизации выглядит так: Realtek - это моя физическая сетевая карта, а физический шлюз - 192.168.2.1. IP моего компьютера 192.168.2.199:
При использовании "push redirect-gateway" в server.conf это выглядит так:
Оба не работают, что я делаю не так? Я не могу пинговать шлюз 10.8.0.5, но VPN не может пинговать свой шлюз. Могу пинговать vpn 10.8.0.1.
Я не понимаю, что за шлюз 10.8.0.5?
По моему опыту, вам нужно запустить OpenVPN (или OpenVPN GUI, в зависимости от того, как вы его вызываете) с полными правами администратора. Директива redirect-gateway в основном изменяет таблицу маршрутизации, поэтому OpenVPN потребует для этого повышенных привилегий.
Игнорируйте 10.8.0.5. Это показывает двухточечную связь OpenVPN. Он используется службой внутри компании.
Как было сказано, важно запустить OpenVPN с правами администратора. Вам необходимо повысить уровень командной строки, графического интерфейса OpenVPN или вашей службы.
Я искал повсюду в Интернете, но безрезультатно искал правильное решение этой проблемы, пока не добрался сюда.
После запуска графического интерфейса OpenVPN с повышенным административным доступом проблема была решена. Просто запустив приложение от имени администратора, все правильно.
Спасибо, что поделились своим опытом.