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

Проблема с клиентом полной маршрутизации OpenVPN

  1. Создаю сервер на AWS с OpenVPN.
  2. Настройте его на странице администратора, я выбираю вариант полной маршрутизации и загружаю .ovpn
  3. Добавляю в клиентский .ovpn три дополнительные строки; (Я должен использовать его, потому что проблема с зависанием ssh)

    redirect-gateway def1
    up /etc/openvpn/update-resolv-conf
    down /etc/openvpn/update-resolv-conf
    

Это клиентский файл;

setenv FORWARD_COMPATIBLE 1
client
server-poll-timeout 4
nobind
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 443 tcp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
dev tun
redirect-gateway def1
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
dev-type tun
ns-cert-type server
setenv opt tls-version-min 1.0 or-highest
reneg-sec 604800
sndbuf 0
rcvbuf 0
auth-user-pass auth.txt
# NOTE: LZO commands are pushed by the Access Server at connect time.
# NOTE: The below line doesn't disable LZO.
comp-lzo no
verb 3
setenv PUSH_PEER_INFO

Я пробую клиентский .ovpn с Tunnelblick, включаю полную маршрутизацию и подключаюсь без проблем. Все становится забавно, когда я пытаюсь использовать этот VPN на своем сервере Ubuntu. (Только терминал)

Когда я пытаюсь использовать VPN на своем сервере Ubuntu, я сначала это делаю;

sudo ip rule add from $(ip route get 1 | grep -Po '(?<=src )(\S+)') table 128
sudo ip route add table 128 to $(ip route get 1 | grep -Po '(?<=src )(\S+)')/32 dev $(ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)')
sudo ip route add table 128 default via $(ip -4 route ls | grep default | grep -Po '(?<=via )(\S+)')

А затем я запускаю VPN;

screen -dmS openvpn
screen -S openvpn -X stuff 'sudo openvpn --config client.ovpn --script-security 2'$(echo -ne '\015')

Забавно, когда я curl ifconfig.co или попытаться сделать что-нибудь, что требует интернета, я не могу, потому что что-то не так с маршрутизацией.

Раньше это работало, но по какой-то причине больше не работает. Я открыт для любых предложений.


Обновить

Проблема где-то в таблице маршрутизации. Это моя обычная таблица маршрутизации без подключения к VPN;

таблица маршрутизации до VPN

и это после того, как я подключился к VPN;

после таблицы маршрутизации VPN

аа и это если я не полностью маршрутизирую, какие таблицы маршрутизации в порядке и Интернет работает нормально;

после VPN нет полной таблицы маршрутизации

Что делать, если вы не усложняете ситуацию с дополнительной таблицей маршрутизации 128 а маршруты просто положить в основную таблицу? Который redirect-gateway def1 должен сделать свое дело.

Пара вещей, которые нужно проверить:

  • У вас есть iptables NAT правильно настроили на шлюзе OpenVPN?
  • У вас есть Переадресация IP включен на шлюзе OpenVPN?
  • Ты можешь бежать tcpdump на шлюзе, чтобы увидеть, что входит через tun0 интерфейс и что, если что, выходит из eth0?
  • У вас есть Src/Dest Check отключен в настройках инстанса EC2?

Ознакомьтесь с этими подробными шагами для как настроить шлюз OpenVPN.

Надеюсь, это поможет :)