Назад | Перейти на главную страницу

Маршрутизация для включения pinging VPN-сервера

Я хотел бы иметь доступ к серверной сети от клиента с установленным VPN-соединением на tun0. У меня следующая установка:

Маршрутизация на стороне клиента:

client$ ip route show
10.8.0.0/24 dev tun0  scope link  src 10.8.0.6

client$ ip route show table local
local 10.8.0.6 dev tun0  proto kernel  scope host  src 10.8.0.6
local 172.28.220.95 dev wlp2s0  proto kernel  scope host  src 172.28.220.95 

А на стороне сервера:

server$ ip route show
default via 192.168.178.1 dev eth0 
10.8.0.0/24 dev tun0  scope link 
192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.32

server$ ip route show table local
local 10.8.0.1 dev tun0  proto kernel  scope host  src 10.8.0.1
local 192.168.178.32 dev eth0  proto kernel  scope host  src 192.168.178.32 

Нерелевантные маршруты и маршруты вещания не указаны для ясности.

Сервер может пинговать себя по адресу 10.8.0.1. Клиент может пинговать себя по адресу 10.8.0.6. Однако, когда я пытаюсь выполнить эхо-запрос клиента с сервера или наоборот, я не получаю ответа (но и без ошибок, кроме 100% потери пакетов).

Есть идеи, что здесь не так? Я также не совсем понимаю значение одноранговых адресов с ip addr.

# server
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none 
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0

# client
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none 
inet 10.8.0.6 peer 10.8.0.5/32 brd 10.8.0.6 scope global tun0

Очевидно несоответствие IP-адресов на обоих tun0. Это соединение точка-точка. Нет необходимости транслировать и делать разрешение адресов уровня 2. Все, что покидает этот интерфейс, достигает своей цели. Задействовано только два адреса. В обеих системах один должен быть локальным адресом tun0, а другой - адресом партнера.

Если адреса не совпадают, у вас вряд ли будет работающее VPN-соединение. Итак, если вывод сервера правильный, то вывод клиента должен быть

# client
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 10.8.0.2 peer 10.8.0.1/32 brd 10.8.0.6 scope global tun0

Вероятно, это ошибка в одном из файлов конфигурации.