Я не могу понять, почему мое соединение openvpn не работает. Кажется, что он работает нормально при подключении. Я могу подключиться к своему серверу, но однажды, когда я подключен, я не могу использовать интернет через vpn.
Это VPS-сервер, работающий на Debian
Вот мой файл openvpn server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 6
mute 20
И вот мой файл client.conf
client
dev tun
proto udp
remote server_ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
remote-cert-tls server
Я также добавил правила брандмауэра, чтобы принимать соединения и маршруты, но странно то, что некоторые правила появляются несколько раз. Вот мой файл сохранения iptables
# Generated by iptables-save v1.4.8 on Sun Dec 22 04:36:18 2013
*nat
:PREROUTING ACCEPT [53:9749]
:POSTROUTING ACCEPT [9:675]
:OUTPUT ACCEPT [9:675]
-A PREROUTING -d server_ip/32 -p udp -m udp --dport 53 -j REDIRECT --to-ports 1194
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source server_ip
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Dec 22 04:36:18 2013
# Generated by iptables-save v1.4.8 on Sun Dec 22 04:36:18 2013
*filter
:INPUT ACCEPT [946:112417]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [824:172939]
-A INPUT -i tun0 -p tcp -m tcp --dport 1194 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT
COMMIT
# Completed on Sun Dec 22 04:36:18 2013
Я также проверил /etc/sysctl.conf, чтобы убедиться, что
net.ipv4.ip_forward=1
у меня тоже есть
net.ipv6.conf.all.forwarding=1
Итак, я попробовал OpenVPN-соединение на моем Linux-компьютере и на Virtualbox XP, и у обоих есть подключение, но ни один из них не имеет доступа к Интернету после подключения.
Самым странным из всего этого является то, что когда я делаю трассировку, он показывает соединение через VPN.
Например я делаю traceroute google.com
1 my ip from vpn connection
2 openvpn server ip
3 ...
4 ...
5 ... few hops between server to google
6 and finally google server ip
Таким образом, traceroute показывает, что соединение проходит через vpn, а также когда я пингую, ping увеличивается до 100 мс, когда я не подключаюсь к vpn, когда ping составляет около 20 мс.
Но когда я пытаюсь просматривать Интернет с помощью любой программы (Firefox, Chrome, iexplorer), я ничего не получаю. Ничего не загружается и время ожидания соединения.
Дело не в том, что мой сервер работает медленно, поэтому страницы не загружаются, тест скорости показывает около 70 Мбит соединения на сервере, и у меня 6 Мбит соединения.
И когда я пытаюсь подключиться к другому vpn, как cloudnymous, все работает отлично. Это просто что-то не так в моей настройке openvpn.
РЕДАКТИРОВАТЬ: В конце концов я думал, что наконец-то все заработало, после того, как я поработал со многими настройками, я наконец-то смог подключиться к своему VPN и получить оттуда интернет.
Теперь у меня есть одна последняя проблема. Поскольку я работаю в Linux, некоторые программы здесь не работают, и я использую virtualbox с установкой Windows XP, но при подключении к vpn в virtualbox я могу выходить в Интернет. Но ни одна программа не может подключиться к интернету. Кроме того, мое vpn-соединение время от времени теряет интернет, и это не мое интернет-соединение или соединение с сервером, потому что в то время, когда я теряю интернет через vpn, я все еще могу соединиться с putty через ssh к серверу и делать разные вещи.