Спасибо,
@ValdikSS
Да,
topology - это то, что нужно (и даже лучше оказалось возможным назначить tun интерфейсу IP 172.30.1.1/24). Какая незаметная опция, я её почему-то не встречал раньше, а искать в документации то не знаю что, тоже не будешь...
Выяснил, что разработчики рекомендуют использовать
topology subnet, но не назначают её по умолчанию ради обратной совместимости, по умолчанию используется как раз запутаный способ нарезания на
/30 подсети. Чтобы адрес пира пинговался следует использовать
topology ptp, тогда получится аутентичный тоннель.
Вот собственно интерфейс на сервере:
~$ ip addr list dev tun1
45: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 172.30.1.1/24 brd 172.30.1.255 scope global tun1
valid_lft forever preferred_lft forever
~$
А это на клиенте:
~$ ip addr list dev tun1
32: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 172.30.1.2/24 brd 172.30.1.255 scope global tun1
~$
И таблица маршрутизации выглядит менее запутанной. Раньше было как-то так:
172.31.1.1 via 172.31.1.5 dev tun0
172.31.1.5 dev tun0 proto kernel scope link src 172.31.1.6
А теперь сама лаконичность:
172.30.1.0/24 dev tun1 proto kernel scope link src 172.30.1.2