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

Интернет перестает работать после подключения к OpenVPN

Интернет не работает после подключения к OpenVPN.

Я установил на Linux сервер OpenVPN. И пытаюсь подключиться к нему с моей Windows 10. Но после подключения я не могу открыть ни один сайт.

Конфигурация моего клиента:

client
dev tun
proto udp
sndbuf 0
rcvbuf 0
remote <ip_removed> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA512
cipher AES-256-CBC
comp-lzo
setenv opt block-outside-dns
key-direction 1
verb 3
auth SHA512

Конфигурация сервера:

port 1194
proto udp
dev tun
sndbuf 0
rcvbuf 0
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
#push "redirect-gateway def1 bypass-dhcp"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify crl.pem

Без подключения к VPN:

>nslookup
Address:  192.168.3.1

После подключения к VPN:

>nslookup
Address:  8.8.8.8

пинг тоже не работает.

Переадресация IP на сервере включена:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

У моего брандмауэра есть следующее правило:

$ sudo ufw allow 22
$ sudo ufw allow 80
$ sudo ufw allow 443
$ sudo ufw allow 1194

 

root@me:~# cat /etc/rc.local
#!/bin/sh -e
iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to <external-IP-of-my-server>

В чем проблема?

Вы можете попробовать отладить, используя traceroute инструменты (в Windows он называется tracert Думаю). Посмотрите, где заблокирован пакет: если внутренний IP-адрес вашего сервера 10.8.0.1 появляется (а затем пакет теряется), что-то не так с пересылкой IP (таблица маршрутизации на сервере, NAT). Если IP-адрес сервера не отображается, значит, у вас проблема с брандмауэром на сервере или с клиентом.

Если вы можете предоставить таблицы маршрутизации и для клиента, и для сервера, и использовать ping для проверки доступности между клиентом и сервером внутри VPN (после добавления iptables правило разрешить ICMP на сервере), было бы лучше.

Вы можете проверить связь с вашим OpenVPN-сервером из Windows-клиента (вероятно, 10.8.0.1)?

Есть ли у вас маскировка (также известная как NAT) на сервере и настроен ли брандмауэр для разрешения исходящих и входящих пересылаемых данных?

Включена ли переадресация IP в sysctl?

относительно правил межсетевого экрана

$ sudo ufw allow 22 
$ sudo ufw allow 80 
$ sudo ufw allow 443 
$ sudo ufw allow 1194

вы разрешаете доступ извне к вашему серверу. (SSH, HTTP (S) и OpenVPN) Вы не разрешена пересылка из vpn (вероятно, tun0) в Интернет (возможно, eth0), и вы не выполняете маскировку (переписываете адрес отправителя).

Это заархивировано с помощью простых правил iptables, например, смотрите здесь: https://arashmilani.com/post?id=53

С уважением, маргау