Рейтинг:0

Подключена локальная сеть OpenVPN, но нет интернета на клиенте

флаг us

Я пытался заставить его работать какое-то время, у меня есть сервер openvpn (установлен с помощью Angristan https://github.com/angristan/openvpn-установить ) на Openvz 7 vps под управлением Debian 10 . Таким образом, большинство вещей по настройке были обработаны им.Он создал файл конфигурации клиента (myClient.ovpn), который я скачал на клиенте. На клиенте (это linux mint 20.3) я тестирую подключение, используя:

openvpn --client --config myClient.ovpn

Он отлично подключается, теперь я могу пинговать шлюз vpn, т.е. (от клиента):

PING 10.8.0.1 (10.8.0.1) 56 (84) байт данных.
64 байта из 10.8.0.1: icmp_seq=1 ttl=64 время=87,9 мс
64 байта из 10.8.0.1: icmp_seq=2 ttl=64 время=86,6 мс
64 байта из 10.8.0.1: icmp_seq=3 ttl=64 время=86,6 мс
^ С
--- 10.8.0.1 статистика пинга ---
3 пакета передано, 3 получено, 0% потери пакетов, время 2003 мс
rtt min/avg/max/mdev = 86,551/87,041/87,946/0,640 мс

Но я не могу пропинговать Google или что-то еще, по-видимому, проблема с маршрутизацией / NAT. Я не могу придраться к своим ограниченным знаниям:

пинг 8.8.8.8 терпит неудачу.

Dns работает правильно, как будто я использую ping yahoo.com, затем он разрешает IP-адрес yahoo, но снова не может пинговать.

$ пинг yahoo.com
PING yahoo.com (74.6.143.25) 56 (84) байт данных.

--- Статистика пинга yahoo.com ---
4 пакета передано, 0 получено, 100% потери пакетов, время 3154 мс```

Сведения о сервере:

Версия опенвпн:

~# openvpn --версия
OpenVPN 2.4.7 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] построен 28 апреля 2021 г.
версии библиотеки: OpenSSL 1.1.1d 10 сентября 2019 г., LZO 2.10
Первоначально разработан Джеймсом Йонаном

uname -а

~#имя-а
Linux mySerer.domainHost.com 4.19.0 #1 SMP Вт, 25 августа, 11:59:26 MSK 2020 x86_64 GNU/Linux

Примечание. Это vps на основе openvz 7.

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

сервер
кот /etc/openvpn/server.conf
порт 2220
прото удп
разработчик тун
пользователь никто
группа
постоянный ключ
упорный тун
поддержка 10 120
топология подсети
сервер 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
нажмите «DHCP-опция DNS 208.67.222.222»
нажмите «dhcp-опция DNS 208.67.220.220»
нажмите «перенаправление-шлюз def1 bypass-dhcp»
дх нет
ecdh-кривая Prime256v1
tls-crypt tls-crypt.key
crl-проверить crl.pem
ca ca.crt
сервер сертификатов_JCJHDggypybdTuKJ.crt
сервер ключей_JCJHDggypybdTuKJ.key
аутентификация SHA256
шифр AES-128-GCM
ncp-шифры AES-128-GCM
tls-сервер
tls-версия-минимум 1.2
tls-шифр TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
клиент-конфигурация-каталог /etc/openvpn/ccd
статус /var/log/openvpn/status.log
глагол 4 

Сведения о сети после запуска сервера openvpn:

~# IP-адрес
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
    inet6 :: 1/128 узел области видимости
       valid_lft навсегда
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    ссылка/недействительно
    инет 127.0.0.1/32 область хоста venet0
       valid_lft навсегда
    inet Y.Y.Y.Y/32 brd Y.Y.Y.Y глобальная область действия venet0:0
       valid_lft навсегда
    inet6 2402:x:x:x:x::dc37/80 глобальная область видимости
       valid_lft навсегда
    inet6 :: 2/128 глобальная область видимости
       valid_lft навсегда
7: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast состояние НЕИЗВЕСТНО группа по умолчанию qlen 500
    ссылка/нет
    inet 10.8.0.1/24 brd 10.8.0.255 глобальная область действия tun0
       valid_lft навсегда
    inet6 fe80::505f:b97:1101:5f33/64 ссылка на стабильную конфиденциальность
       valid_lft навсегда

На сервере (правила iptables)

  iptables -t nat -L -n -v
Цепочка PREROUTING (политика ACCEPT 0 пакетов, 0 байт)
 pkts bytes target prot opt ​​in out source target

Цепочка INPUT (политика ACCEPT 0 пакетов, 0 байтов)
 pkts bytes target prot opt ​​in out source target

Цепочка POSTROUTING (политика ACCEPT 0 пакетов, 0 байт)
 pkts bytes target prot opt ​​in out source target
    0 0 МАСКАРАД все -- * venet0 10.8.0.0/24 0.0.0.0/0

Цепочка OUTPUT (политика ACCEPT 0 пакетов, 0 байт)
 pkts bytes target prot opt ​​in out source target
# Предупреждение: таблицы iptables-legacy присутствуют, используйте iptables-legacy, чтобы увидеть их 

На сервере ip маршрут:

 $ IP-маршрут
ссылка на область видимости dev venet0 по умолчанию
10.8.0.0/24 dev tun0 ссылка на область действия ядра proto src 10.8.0.1

Статус пересылки (на сервере)

sysctl-а | пересылка grep
net.ipv4.conf.all.forwarding = 1
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.lo.forwarding = 1
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.tun0.forwarding = 1
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.tun0.forwarding = 0
net.ipv6.conf.tun0.mc_forwarding = 0
net.ipv6.conf.venet0.forwarding = 0
net.ipv6.conf.venet0.mc_forwarding = 0

Клиент может подключиться к VPN, я могу пропинговать vpn-шлюз (10.8.0.1), как уже было сказано выше.

route на клиенте после подключения к VPN:

маршрут после подключения к VPN: 
$ маршрут
Таблица IP-маршрутизации ядра
Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
по умолчанию CLIENT-HOSTNAME 0.0.0.0 UG 0 0 0 eth0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
SERVER-HOSTNAME CLENT-HOSTNAME 255.255.255.255 UGH 0 0 0 eth0
192.168.224.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0

В настоящее время у меня нет идей, хотя правила NAT на сервере кажутся правильными, маршрут клиента также показывает правильную конфигурацию. Так как я не в сети, не могу понять это. Настройка простого VPN оказалась затратным по времени делом. Это как-то связано с сервером на базе openVZ 7.

CSF работает правильно, поэтому я полагаю, что необходимые модули для iptabless доступны на сервере.

Perl csftest.pl
Тестирование ip_tables/iptable_filter... ОК
Тестирование ipt_LOG... ОК
Тестирование ipt_multiport/xt_multiport... ОК
Тестирование ipt_REJECT... ОК
Тестирование ipt_state/xt_state... ОК
Тестирование ipt_limit/xt_limit... ОК
Тестирование ipt_recent... ОК
Тестирование xt_connlimit... OK
Проверка ipt_owner/xt_owner... ОК
Тестирование iptable_nat/ipt_REDIRECT... ОК
Тестирование iptable_nat/ipt_DNAT... ОК

Я пробовал это на клиенте Debian 10, а также на linuxmin 20.x, такое же поведение, клиент может подключаться, может использовать локальную сеть VPN, но не может просматривать Интернет.

Если что-то еще нужно, пожалуйста, дайте мне знать.

флаг in
tcpdump интерфейсов, чтобы убедиться, что пакеты приходят через интерфейс vpn на сервере, затем проверьте, выходят ли они через интерфейс маршрута по умолчанию с сервера, и возвращаются ли они обратно или нет. и т.д.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.