Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Нет пингов на интерфейсе tun на стороне клиента. Пинги в одну сторону.  (Прочитано 658 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Antares111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Хочу сделать доступный сайт 81.19.82.24 (рамблер) через openvpn клиент. Но столкнулся с проблемой, по тоннелю ping только в одну сторону. Схемаhttps://ibb.co/HFxt5hG
IP адреса 10.8.0.1 и 10.8.0.2 пинаются. Но при наличии маршрутов пинги в направлении 81.19.82.24 не идут, а  назад в направлении 192.168.11.162 идут.
Сервер
cat /etc/openvpn/server.conf
port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
client-config-dir .ccd
client-to-client
keepalive 10 120
tun-mtu 1500
mssfix 1450
auth sha1
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append  /var/log/openvpn.log
verb 3
mute 10

~#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.100.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
81.19.82.24     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.10.0    0.0.0.0         255.255.254.0   U     0      0        0 eth0

Firewall пуст
~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Клиент
cat /etc/openvpn/client.conf
client
dev tun0
proto tcp
remote 10.100.0.1 1194
cipher AES-256-CBC
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/clientbl.crt
key /etc/openvpn/keys/clientbl.key
persist-key
persist-tun
resolv-retry infinite
nobind
remote-cert-tls server
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 0
mute 10

~#route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1        255.255.255.0   255.255.255.255 UGH   0      0        0 tun0
10.100.0.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.11.162  0.0.0.0         255.255.255.255 UH    0      0        0 tun0
255.255.255.0   0.0.0.0         255.255.255.255 UH    0      0        0 tun0

Запускаем ping с клиента
И слушаем на сервере tun0 выхлоп tcpdump -i tun0 -p icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
11:42:10.781984 IP 10.8.0.2 > 192.168.11.162: ICMP echo request, id 1497, seq 1, length 64
11:42:11.790247 IP 10.8.0.2 > 192.168.11.162: ICMP echo request, id 1497, seq 2, length 64
11:42:12.798632 IP 10.8.0.2 > 192.168.11.162: ICMP echo request, id 1497, seq 3, length 64
11:42:13.806237 IP 10.8.0.2 > 192.168.11.162: ICMP echo request, id 1497, seq 4, length 64
Пакеты icmp есть на интерфейсе.
Теперь наоборот. Запускаем tcpdump на клиенте, а пинаем на сервере. На интерфейсе тишина.
На самое интересное, что на интерфейсе tun0 сервера TX счетчик пакетов считает а на tun0 клиента они не RX нет. Такая же история происходит если в качестве клиента Mikrotik. Подскажите куда посмотреть?

Оффлайн Antares111

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Нашел решение этого вопроса. Насколько я понял таблица маршрутизации самой системы это маршрутизация от интерфейса к ядру. А для маршрутизации от сервера openvpn (от интерфейса tun/tap) к клиенту openvpn это другое.
Тут написано http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html
что в файле клиента /etc/openvpn/ccd/client1
нужно добавить маршрут до сети которая за клиентом. Например
    iroute 192.168.4.0 255.255.255.0
Это скажет OpenVPN-серверу о том, что пакеты для подсети 192.168.4.0/24 должны быть направлены через client1. Без этой строчки пакеты уходили в интерфейс и не приходили на другой стороне.
А в основной файл /etc/openvpn/server.conf
    route 192.168.4.0 255.255.255.0

Надеюсь это поможет кому-то

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.