Нет интернета на клиенте при подключении к серверу по OpenVpn
Всем привет! Я в настройке OpenVpn на сервере Debian новичок, поэтому прошу помощи. У меня есть арендованный VPS сервер, на нем я планировал настроить OpenVpn и подключаясь по OpenVpn выходить в сеть. Клиент мой на Windows 7 х64 Все вроде бы настроил, по OpenVpn (версия клиента 11.12.00) подключение проходит нормально, загорается зеленым экранчик, но сразу пропадает инет полностью на машине. Ничего не пингуется и не проходит tracert c машины. При этом на самом сервере инет есть, вроде никаких ограничений от провайдера, технология Tun/Tap провайдером для сервера подключена. Информации по аналогичным проблемам в инете очень много и я не нашел решения, кроме как обратиться сюда. Скажите, какие мне необходимо выложить логи с сервера Debian, чтобы мне помогли диагностировать и решить проблему? Пока могу приложить лог подключения к OpenVpn: в нем вроде все нормально, но первые 2 строки красные: —user option is not implemented on Windows —group option is not implemented on Windows
Заранее Всем благодарен за помощь!
Ничего не пингуется и не проходит tracert c машины.
Сам VPS-сервер пингуется? Что с маршрутизацией на клиенте и на сервере?
Сам сервер пингуется при включенном и не включенном OpenVpn. С маршрутизацией вроде должно быть все в порядке. Какую команду на сервере выполнить и какие логи приложить?
Покажите какие команды для маршрутизации выполнялись.
На клиенте стоит обычный брандмауэр Windows 7 На сервере включен файрвол UFW
На сервере покажите вывод команды ip route. На клиенте не знаю, как посмотреть таблицу маршрутизации — не работал никогда с этой OS :(.
Отключение файрволов влияет на ситуацию или нет?
sysctl -w net.ipv4.ip_forward=1
Да особо никаких команд для маршрутизации выполнялось, был включен файрвол UFW, проверено, что он пропускает OpenSSH, затем был создан центр сертификации, настроены стандартные переменные в vars Созданы сертификаты, ключи и файлов шифрования для сервера (диффи-хелман и т.п) Создан сертификат и пара ключей для клиента Настроена конфигурация OpenVPN на сервере, в частности выставлены параметры: key-direction 0 cipher AES-128-CBC auth SHA256 user nobody group nogroup push «redirect-gateway def1 bypass-dhcp» push «dhcp-option DNS 208.67.222.222» push «dhcp-option DNS 208.67.220.220» Порт оставлен стандартный 1194
Для настройки перенаправления IP была выполнена всего 1 команда net.ipv4.ip_forward=1 sysctl -p
Настройка правил UFW только это # START OPENVPN RULES # NAT table rules *nat :POSTROUTING ACCEPT [0:0] # Allow traffic from OpenVPN client to eth0 -A POSTROUTING -s 10.8.0.0/8 -o venet0 -j MASQUERADE COMMIT # END OPENVPN RULES
Открытие порта OpenVPN ufw allow 1194/udp ufw allow OpenSSH
Команда systemctl start openvpn@server и ip addr show tun0 отработали штатно
Потом systemctl enable openvpn@server
Тогда каким образом сервер будет предоставлять доступ клиентам в интернет ?
UPD: пропустил в портянке текста маскарадинг. тогда у меня нет идей чего не работает.
Deleted ( 24.07.19 18:28:24 MSK )
Последнее исправление: Deleted 24.07.19 18:33:51 MSK (всего исправлений: 1)
Отключение файрвола на сервере не влияет на ситуацию
Отключение файрвола на сервере не влияет на ситуацию
С клиента приведите еще таблицу маршрутизации.
1. Выкладываем конфиги сервера и клиента
2. Выкладываем логи с сервера и клиента при подключении.
3. Выкладываем iptables-save с сервера
Все это оборачиваем в тэги [code] [/code]
Ставлю поллитру жигулёвского, что у тебя после подключения vpn в таблице маршрутизации default-маршрут идёт через поднятый через vpn сетевой интерфейс(скорее всего это ppp0) . то есть в том числе и маршрут до хоста vpn-сервера.
Пропиши для хоста vpn-серврера отдельную записть в таблице маршрутизатора на интерфейс, с которого ты получаешь интернеты (например wlan0, eth0 и пр.)
Как это сделать в терминах Win 7 не скажу, не знаю.
OpenVpn
Ставлю поллитру жигулёвского
скорее всего это ppp0
anc ★★★★★ ( 25.07.19 00:01:38 MSK )
Последнее исправление: anc 25.07.19 00:02:06 MSK (всего исправлений: 1)
рабочий конфиг..
лучше пользовать UDP
local 1.2.3.4.5 # внешний IP сервера (Инетовский IP-адрес) port 1194 # порт на котором будет висеть служба OpenVPN proto tcp # протокол dev tun # используем тип тунеля для интернет, tap для eternet ca ca.crt # наши сертификаты cert cafap-250.crt key cafap-250.key dh dh1024.pem server 10.10.10.0 255.255.255.0 # Наша виртуальная сеть (адреса, которые будут присваиваться клиентам OpenVPN) ifconfig-pool-persist ipp.txt # запоминать выданные динамические адреса keepalive 10 120 # пинг каждые 10 секунд для поддержания канала связи comp-lzo # сжатие трафика persist-key persist-tun log /var/log/openvpn.log # Путь к лог-файлу verb 3 # Уровень детализации лога. mute # В лог будет записываться до 10 сообщений из одной категории. status openvpn-status.log #лог client-to-client ;push "redirect-gateway def1" # Перенаправлять default gateway на vpn-сервер. Если не нужно - закомментировать. ;push "route 192.168.2.0 255.255.255.0" client-config-dir ccd # Директория где хранятся настройки клиентов ;user nobody ;group nogroup
Отключение файрвола на клиенте не помогает
У вас при подключении к VPN серверу добавляется маршрут, который указывает, что шлюзом становится ВПН сервер.
Если вам это и нужно, то настраивайте NAT на VPN сервере.
Не совсем понимаю как это сделать, я все-таки новичок в этом))) Меня немного смущает, что при выполнении команды ip route | grep default я получаю вот это http://prntscr.com/ok1gzp а должен получать вывод типа default via 203.0.113.1 dev wlp11s0 proto static metric 600
iptables-save пожалуйста поместите текстом в тегах [code] [/code]
Подключитесь клиентом Putty через ssh.
root@memficos:~# iptables-save # Generated by iptables-save v1.6.0 on Thu Jul 25 14:38:50 2019 *nat :PREROUTING ACCEPT [45332:2665009] :POSTROUTING ACCEPT [175:10125] :OUTPUT ACCEPT [2:144] -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE COMMIT # Completed on Thu Jul 25 14:38:50 2019 # Generated by iptables-save v1.6.0 on Thu Jul 25 14:38:50 2019 *filter :INPUT DROP [44528:2619592] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [98:6092] :ufw-after-forward - [0:0] :ufw-after-input - [0:0] :ufw-after-logging-forward - [0:0] :ufw-after-logging-input - [0:0] :ufw-after-logging-output - [0:0] :ufw-after-output - [0:0] :ufw-before-forward - [0:0] :ufw-before-input - [0:0] :ufw-before-logging-forward - [0:0] :ufw-before-logging-input - [0:0] :ufw-before-logging-output - [0:0] :ufw-before-output - [0:0] :ufw-logging-allow - [0:0] :ufw-logging-deny - [0:0] :ufw-not-local - [0:0] :ufw-reject-forward - [0:0] :ufw-reject-input - [0:0] :ufw-reject-output - [0:0] :ufw-skip-to-policy-forward - [0:0] :ufw-skip-to-policy-input - [0:0] :ufw-skip-to-policy-output - [0:0] :ufw-track-forward - [0:0] :ufw-track-input - [0:0] :ufw-track-output - [0:0] :ufw-user-forward - [0:0] :ufw-user-input - [0:0] :ufw-user-limit - [0:0] :ufw-user-limit-accept - [0:0] :ufw-user-logging-forward - [0:0] :ufw-user-logging-input - [0:0] :ufw-user-logging-output - [0:0] :ufw-user-output - [0:0] -A INPUT -j ufw-before-logging-input -A INPUT -j ufw-before-input -A INPUT -j ufw-after-input -A INPUT -j ufw-after-logging-input -A INPUT -j ufw-reject-input -A INPUT -j ufw-track-input -A FORWARD -j ufw-before-logging-forward -A FORWARD -j ufw-before-forward -A FORWARD -j ufw-after-forward -A FORWARD -j ufw-after-logging-forward -A FORWARD -j ufw-reject-forward -A FORWARD -j ufw-track-forward -A OUTPUT -j ufw-before-logging-output -A OUTPUT -j ufw-before-output -A OUTPUT -j ufw-after-output -A OUTPUT -j ufw-after-logging-output -A OUTPUT -j ufw-reject-output -A OUTPUT -j ufw-track-output -A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input -A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input -A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input -A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input -A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A ufw-before-forward -p icmp -m icmp --icmp-type 3 -j ACCEPT -A ufw-before-forward -p icmp -m icmp --icmp-type 4 -j ACCEPT -A ufw-before-forward -p icmp -m icmp --icmp-type 11 -j ACCEPT -A ufw-before-forward -p icmp -m icmp --icmp-type 12 -j ACCEPT -A ufw-before-forward -p icmp -m icmp --icmp-type 8 -j ACCEPT -A ufw-before-forward -j ufw-user-forward -A ufw-before-input -i lo -j ACCEPT -A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny -A ufw-before-input -m conntrack --ctstate INVALID -j DROP -A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT -A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT -A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT -A ufw-before-input -j ufw-not-local -A ufw-before-input -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT -A ufw-before-input -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT -A ufw-before-input -j ufw-user-input -A ufw-before-output -o lo -j ACCEPT -A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A ufw-before-output -j ufw-user-output -A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] " -A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN -A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] " -A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN -A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN -A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN -A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny -A ufw-not-local -j DROP -A ufw-skip-to-policy-forward -j ACCEPT -A ufw-skip-to-policy-input -j DROP -A ufw-skip-to-policy-output -j ACCEPT -A ufw-track-forward -p tcp -m conntrack --ctstate NEW -j ACCEPT -A ufw-track-forward -p udp -m conntrack --ctstate NEW -j ACCEPT -A ufw-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT -A ufw-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT -A ufw-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_OpenSSH\'" -j ACCEPT -A ufw-user-input -p udp -m udp --dport 1194 -j ACCEPT -A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable -A ufw-user-limit-accept -j ACCEPT COMMIT # Completed on Thu Jul 25 14:38:50 2019 # Generated by iptables-save v1.6.0 on Thu Jul 25 14:38:50 2019 *mangle :PREROUTING ACCEPT [71588:6142314] :INPUT ACCEPT [69233:5990796] :FORWARD ACCEPT [2355:151518] :OUTPUT ACCEPT [20698:5721788] :POSTROUTING ACCEPT [23053:5873306] COMMIT # Completed on Thu Jul 25 14:38:50 2019 # Generated by iptables-save v1.6.0 on Thu Jul 25 14:38:50 2019 *raw :PREROUTING ACCEPT [71588:6142314] :OUTPUT ACCEPT [20698:5721788] COMMIT # Completed on Thu Jul 25 14:38:50 2019
Зачем здесь столько правил?
Хм, не все значения правил понимаю конечно, сможете подсказать в чем дело?