Недавно, во время настройки VPN-сервера, я столкнулся с одной проблемой: у меня нет доступа в Интернет через мой VPN-сервер. На самом деле я использую VPS (Debian 8), где я установил VPN. Клиент подключается нормально. Я использовал команду trace route, чтобы определить, где останавливается трафик, и, очевидно, он останавливается на моем VPN-сервере. Я действительно не знаю, как с этим бороться. Кто-нибудь, помогите мне, пожалуйста:) Вот моя конфигурация сервера и конфигурация клиента. И да, моя клиентская сторона — это Windows 7 и 10.
Конфигурация сервера.
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 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Конфигурация клиента. Примечание: IP-адрес сервера скрыт.
client
dev tun
proto udp
remote 107.155.1x4.1x2 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\OVPN\\ca.crt"
cert "C:\\OVPN\\client1.crt"
key "C:\\OVPN\\client1.key"
ns-cert-type server
comp-lzo
verb 3
Со стороны клиента я попробовал протестировать DNS-сервер Google 8.8.8.8 - все равно не работает. Думаю, проблема в некоторых интерфейсах на стороне сервера, которые выходят в интернет. Так что, кто что-то подскажет, просто помогите мне полезным советом.
"Пожалуйста, добавьте вывод следующих команд: sysctl net.ipv4.ip_forward, iptables-save, ip route show. На клиенте может быть: route print. – rda "
1) Выход sysctl net.ipv4.ip_forward
для
net.ipv4.ip_forward = 1
2) Выходные данные для ip route show
:
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
10.8.0.0/24 via 10.8.02 dev tun0
default dev venet0 scope link
3) И выход для iptables-save
это
*mangle
:PREROUTING ACCEPT [241673:29858781]
:INPUT ACCEPT [232866:29385621]
:FORWARD ACCEPT [8803:472884]
:OUTPUT ACCEPT [250884:4018010]
:POSTROUTING ACCEPT [259688:40653794]
COMMIT
*filter
:INPUT ACCEPT [232866:29385621]
:FORWARD ACCEPT [8804:472884]
:OUTUPUT ACCEPT [250884:40180910]
COMMIT
*nat
:PREROUTING ACCEPT [20668:1262348]
:POSTROUTING ACCEPT [14826:1006759]
:OUTPUT ACCEPT [10970:791257]
COMMIT
*raw
:PREROUTING ACCEPT [241673:29858781]
:OUTPUT ACCEPT [250884:40180910]
COMMIT
11 июня
Я полагаю, что проблема кроется в таблицах маршрутизации. Я выполнил команду - netstat -nr
, и с удивлением обнаружил, что в моей таблице маршрутизации есть странные IP-адреса, которые назначены только для использования VPN.**
Вот, посмотрите:
Таблица маршрутизации IP ядра (Примечание: параметры таблицы маршрутизации располагаются следующим образом в столбце (!), например: IP-адрес таблицы маршрутизации берет все первые параметры из первого столбца. А последние три параметра MSS Window irtt
одинаковы для каждого значения таблицы маршрутизации.
Destination face 10.8.0.2 un0 10.8.0.0 un0 0.0.0.0 enet0
Gateway face 0.0.0.0 un0 10.8.0.2 un0 0.0.0.0 enet0
Genmask face 255.255.255.255 un0 255.255.255.0 un0 0.0.0.0 enet0
Flags face UH un0 UG un0 U enet0
MSS Window irtt face 0 0 0 un0 0 0 0 un0 0 0 0 enet0
15 июня
Привет, приятель! Спасибо за ответ еще раз!
выход для ip route show
:
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1 10.8.0.0/24 via
10.8.0.2 dev tun0 default dev venet0 scope link
вывод следующей команды на VPS ip route get 8.8.8.8
(Примечание: IP-адрес скрыт):
8.8.8.8 dev venet0 src 107.155.1x4.1x2
cache mtu 1500 advmss 1460 hoplimit 64
На стороне клиента - я использовал эту команду route print
- я получил чертовски большую страницу IP-адресов, но я не знаю, что здесь важно для решения этой проблемы...
Каковы дальнейшие шаги?
Еще раз большое спасибо за вашу помощь, правда.
Обновление 15 июня
Вот вывод команды route print
на клиенте Windows:
IPv4 Route Table
===========================================================================
Active routes:
Network address Subnet mask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.88.1 192.168.88.208 20
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.50.0 255.255.255.0 On-link 192.168.50.1 276
192.168.50.1 255.255.255.255 On-link 192.168.50.1 276
192.168.50.255 255.255.255.255 On-link 192.168.50.1 276
192.168.56.0 255.255.255.0 On-link 192.168.56.1 266
192.168.56.1 255.255.255.255 On-link 192.168.56.1 266
192.168.56.255 255.255.255.255 On-link 192.168.56.1 266
192.168.88.0 255.255.255.0 On-link 192.168.88.208 276
192.168.88.208 255.255.255.255 On-link 192.168.88.208 276
192.168.88.255 255.255.255.255 On-link 192.168.88.208 276
192.168.100.0 255.255.255.0 On-link 192.168.100.1 276
192.168.100.1 255.255.255.255 On-link 192.168.100.1 276
192.168.100.255 255.255.255.255 On-link 192.168.100.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.88.208 276
224.0.0.0 240.0.0.0 On-link 192.168.100.1 276
224.0.0.0 240.0.0.0 On-link 192.168.50.1 276
224.0.0.0 240.0.0.0 On-link 192.168.56.1 266
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.88.208 276
255.255.255.255 255.255.255.255 On-link 192.168.100.1 276
255.255.255.255 255.255.255.255 On-link 192.168.50.1 276
255.255.255.255 255.255.255.255 On-link 192.168.56.1 266
===========================================================================
Permanent routes:
Обновление 17 июня
Эй, приятель, я пробовал использовать те команды, которые включают NAT на сервере, к сожалению, снова не работает. Вывод ip route show
такой же, как и раньше:
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
10.8.0.0/24 via 10.8.0.2 dev tun0
default dev venet0 scope link
Те команды, которые вы мне дали, работали гладко, но не дали никаких результатов. Так что новый IP-маршрут просто не появляется в выводе! Я пробовал добавлять тот же маршрут разными способами, даже менял маску с /16 на /24, все равно ничего.
ЕдинственныйважныйУ меня возникло странное чувство: я запустил свой OVPN Gui на стороне клиента, и я знаю, что интернет не работает, и что я вижу, с самого начала моя страница Facebook начинает загружаться, но другие, такие как google.com или linkedin.com — или любой другой веб-сайт — они просто не открываются...
Некоторые незначительные сведения о моем провайдере VPS. На странице FAQ они сообщают следующее:
**22
Do you support TUN/TAP? IPSEC?
Yes, TUN/TAP and IPSEC are enabled on all VPS by default.**
**2
What kind of virtualization is offered/used?
We utilize OpenVZ on our infrastructure. If you require KVM virtualization we recommend SpeedyKVM.**
В чем может заключаться проблема и как ее можно преодолеть?
Еще раз большое спасибо вам!
решение1
Вам необходимо включить NAT на сервере.
SNAT для статического IP-адреса:
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o <if> -j SNAT --to <ip>
Или, если у вас динамически назначенный IP-адрес, используйте MASQUERADE
(медленнее):
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o <if> -j MASQUERADE
пока
<if>
это имя внешнего интерфейса (т.е.venet0
)<ip>
это IP-адрес внешнего интерфейса