Захотелось разобраться с OpenVPN.
Сгенерировал сертификаты, настроил сервер используя дефолтный конфиг, который идёт в комплекте с OpenVPN, tun интерфейс поднялся и все вроде бы работает, но почему работает так, понять не могу.
Суть в следующем: в конфиге сервера есть директива "
server 172.31.1.0 255.255.255.0" при запуске сервера поднимется вот такой интерфейс:
~$ ip addr list tun0
24: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 172.31.1.1 peer 172.31.1.2/32 scope global tun0
valid_lft forever preferred_lft forever
~$
На клиенте в, в свою очередь, поднимется вот такой интерфейс:
~$ ip addr list tun0
23: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 172.31.1.6 peer 172.31.1.5/32 scope global tun0
~$
В этих IP адресах я увидел нечто знакомое, но сразу не понял что к чему, поиск всети прояснил ситуацию с адресами, оказывается сервер нарезал подсеть
172.31.1.0/24 на подсети
172.31.1.0/30 и
172.31.1.4/30 и назначил первый IP из этих подсетей в качестве своего IP и IP клиента, а второй адрес в качестве адреса пира. И все бы ничего, но адрес пира не пингуется. Ни
172.31.1.2 ни
172.31.1.5 и это вводит меня в замешательство. То есть он и не должен пинговаться при таком раскладе, логика подсказывает, что на клиенте IP должен быть
172.31.1.2, а адрес пира
172.31.1.1 и тогда все встанет на свои места. При этом с клиента успешно пингуется сервер по своему IP
172.31.1.1, а с сервера пингуется клиент по своему IP
172.31.1.6.
У коллеги на микротике поднят OpenVPN сервер, он использует
tun интерфейс и при подключении к нему на ноутбуке поднимется вот такой интерфейс:
~$ ip addr list tun0
23: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 172.16.1.29 peer 172.16.1.30/32 scope global tun0
~$
И пир вполне успешно пингуется. К микротику могут подключаться несколько клиентов (к сожалению ни версию OpenVPN на микротике ни, как выглядит его конфиг в ближайшее время узнать не получится).
Почему так происходит и как сделать так, чтобы я смог пинговать пира?