[uanog] two defaults (ipv4 & ipv6) on MacOS

Volodymyr Litovka doka at funlab.cc
Sat Oct 30 22:13:01 EEST 2021


Привет,

а кто пользуется MacOS, подскажите такую штуку. Мне для 
экспериментальных целей понадобилось и я сделал себе IPv6 VPN (на той 
стороне - стронгсван, если это хоть какое-то значение):

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet6 fe80::1ca5:1930:866b:888c%en0 prefixlen 64 secured scopeid 0x6
	inet 192.0.2.8 netmask 0xffffff00 broadcast 192.0.2.255
	nd6 options=201<PERFORMNUD,DAD>
	status: active
[ ... ]
ipsec0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
	options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	inet6 fe80::8e85:90ff:fe5c:77eb%ipsec0 prefixlen 64 scopeid 0x10
	inet6 2a01:4f8:c010:xxxx:1:1:0:1 prefixlen 64
	nd6 options=201<PERFORMNUD,DAD>

$ netstat -rn |grep -i default
default    192.0.2.1               UGScIg            en0
default    2a01:4f8:c010:xxxx::    UGcg           ipsec0

то есть, грубо говоря: я хотел, чтобы IPv4 работал как обычно, а IPv6 
был доступен через туннель, где уже происходят мои дальнейшие 
сомнительные игрища ;-)

Итог -  IPv6 работает, а вот IPv4 перестаёт:

$ ping6 google.com
PING6(56=40+8+8 bytes) 2a01:4f8:c010:xxxx:1:1:0:1 --> 2a00:1450:4001:80e::200e
16 bytes from 2a00:1450:4001:80e::200e, icmp_seq=0 hlim=115 time=36.116 ms
16 bytes from 2a00:1450:4001:80e::200e, icmp_seq=1 hlim=115 time=37.832 ms

$ ping google.com
PING google.com (142.250.185.78): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host

то есть при появлении default at ipv6 макось (Monterey) перестаёт понимать, 
куда теперь слать ipv4 пакеты. При этом сам по себе шлюз пингуется, т.е. 
connected route сохраняется. Вопрос тут даже не в приоритетности - это ж 
разные inet families и /мне казалось/, что наличие собственного дефолта 
в каждом из них не должно мешать другому - то есть ping6 пользуется 
inet6, а ping - inet и всё должно работать. Но нет.

Это баг или фича или конфигурабельное поведение? Куда смотреть?

P.S. если макось получает dual-stack с одного интерфейса - то всё работает:

ipsec0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
  inet10.0.0.1  <https://10.0.0.1>  -->10.0.0.1  <https://10.0.0.1>  netmask 0xffffffff
  inet6 fe80::8e85:90ff:fe5c:77eb%ipsec0 prefixlen 64 scopeid 0x10
  inet6 2a01:4f8:c010:xxxx:1:1:0:1 prefixlen 64
  nd6 options=201<PERFORMNUD,DAD>

=====
$ ping6 -c2google.com  <https://google.com>
PING6(56=40+8+8 bytes) 2a01:4f8:c010:xxxx:1:1:0:1 --> 2a00:1450:4001:827::200e
16 bytes from 2a00:1450:4001:827::200e, icmp_seq=0 hlim=115 time=35.949 ms
16 bytes from 2a00:1450:4001:827::200e, icmp_seq=1 hlim=115 time=37.976 ms

$ ping -c2google.com  <https://google.com>
PINGgoogle.com  <https://google.com>  (142.250.186.46  <https://142.250.186.46>): 56 data bytes
64 bytes from142.250.186.46  <https://142.250.186.46>: icmp_seq=0 ttl=115 time=36.058 ms
64 bytes from142.250.186.46  <https://142.250.186.46>: icmp_seq=1 ttl=115 time=92.463 ms

Отака от фігня, малята.

Спасибо.

-- 
Volodymyr Litovka
   "Vision without Execution is Hallucination." -- Thomas Edison
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20211030/47e6673b/attachment.html>


More information about the uanog mailing list