Ответ на этот вопрос был очень полезен для меня, чтобы понять маршрутизацию, используемую с openvpn. Но я все еще не понимаю интерфейс туннелирования (tun0 ниже), особенно в отношении доступа к удаленной локальной сети.
Вот таблица маршрутизации:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.172.1.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
10.172.1.1 10.172.1.5 255.255.255.255 UGH 0 0 0 tun0
10.172.1.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.172.1.5 128.0.0.0 UG 0 0 0 tun0
168.1.6.15 192.168.1.1 255.255.255.255 UGH 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
Я понимаю, что при использовании openvpn сначала он переходит к 10.172.1.1, а не к 10.172.1.5 из-за этого правила одноадресной рассылки:
10.172.1.1 10.172.1.5 255.255.255.255 UGH 0 0 0 tun0
Затем, поскольку для 10.172.1.1 не существует правила, оно переходит к eth1. Но поскольку у eth1 есть одно правило одноадресной передачи:
168.1.6.15 192.168.1.1 255.255.255.255 UGH 0 0 0 eth1
Он выходит на другую сторону туннеля, в 168.1.6.15.
В ответе на вышеупомянутый вопрос сказано, что мы можем добавить это правило для доступа к удаленной локальной сети:
10.172.1.0/24 dev tun0 proto kernel scope link src 10.172.1.5
Но что он делает для доступа к удаленным сетевым ПК? Они напрямую доступны через туннельный интерфейс (tun0)? Если они делают, как openvpn выходит наружу (они являются удаленными)? Потому что я предполагаю, что в этом случае он не использует 168.1.6.15. Является ли ?
Спасибо за любые разъяснения!