Я пытался заставить его работать какое-то время, у меня есть сервер 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, но не может просматривать Интернет.
Если что-то еще нужно, пожалуйста, дайте мне знать.