почему NetworkManager добавляет маршрут хоста к шлюзу?

Я использую Ubuntu 16.04.2 LTS и заметил, что, когда я поднимаю соединение VPN с GUI (сервер является openvpn), я добавил маршрут хоста к шлюзу VPN, в дополнение к маршруту к подсети VPN. У меня есть опции "Ignore automatically obtained routes" и "Use this connection only for resources on its network" оба выбранные.

Вот то, на что смотрит моя таблица маршрутизации сначала:

$ ip route show | grep -v linkdown
default via 192.168.1.1 dev wlp2s0  proto static  metric 600 
192.168.1.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.1.184  metric 600 

Теперь я поднимаю соединение VPN, и я добираюсь:

$ ip route show | grep -v linkdown
default via 192.168.1.1 dev wlp2s0  proto static  metric 600 
10.8.0.0/24 dev tun0  proto kernel  scope link  src 10.8.0.4  metric 50 
52.90.159.97 via 192.168.1.1 dev wlp2s0  proto static  metric 600 
192.168.1.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.1.184  metric 600 

Новый маршрут для 10.8.0.0/24 имеет смысл мне, потому что это - подсеть VPN, но почему я также получаю маршрут для 52.90.159.97 (шлюз VPN)?

До сих пор это просто таинственно, но если я теперь поднимаю вторую VPN, которая туннелирует по первой VPN, у меня есть настоящая проблема:

$ ip route show | grep -v linkdown
default via 192.168.1.1 dev wlp2s0  proto static  metric 600 
10.8.0.0/24 dev tun0  proto kernel  scope link  src 10.8.0.4  metric 50 
10.8.0.2 via 192.168.1.1 dev wlp2s0  proto static  metric 600 
10.9.0.0/24 dev tun1  proto kernel  scope link  src 10.9.0.2  metric 50 
52.90.159.97 via 192.168.1.1 dev wlp2s0  proto static  metric 600 
192.168.1.0/24 dev wlp2s0  proto kernel  scope link  src 192.168.1.184  metric 600 

Второй шлюз VPN 10.8.0.2 и, как Вы видите, новые маршруты записи хоста wlp2s0, который является неправильным (это должно быть tun0). Я должен вручную удалить эту запись для устанавливания применимой связи.

Возможно, я должен зарегистрировать это как ошибку, но я хотел бы услышать любую обратную связь здесь сначала.

0
задан 26 March 2017 в 19:43

1 ответ

После размышления об этом в течение нескольких недель я пришел к заключению, что это сделано для предотвращения любых маршрутов, полученных по VPN из соответствия самому шлюзу VPN, создав цикл, где ядро пытается направить по VPN для достижения шлюза VPN. Самый очевидный случай - то, при получении маршрута по умолчанию по VPN.

Так, в моем случае, я теперь убежден, что это - ошибка. Логика имеет смысл, но должна быть применена более разумно. Возможно, добавьте маршрут к шлюзу VPN только после проверки, что Вы иначе направили бы трафик шлюза по VPN.

0
ответ дан 3 November 2019 в 13:48

Другие вопросы по тегам:

Похожие вопросы: