Що говорить про netstat -r на OSX про шлюзи?


1

Я помітив, що таблиця маршрутів має багато записів, яких я не розумію.

Таблиця маршруту:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.254      UGSc           28        0     en1
10.8.0.1/32        10.8.0.5           UGSc            1        2    tun0
10.8.0.5           10.8.0.6           UH              2        3    tun0 
127                localhost          UCS             0      284     lo0 
localhost          localhost          UH             10     3663     lo0
169.254            link#5             UCS             0        0     en1
192.168.0          link#5             UCS             4        0     en1
192.168.0.25       localhost          UHS             0        0     lo0
192.168.100        10.8.0.5           UGSc            0        7    tun0

Я вважаю, що цей маршрут говорить:

  1. Весь трафік у 192.168.100. * Повинен спрямовувати до 10.8.0.5 (!?)
  2. Весь трафік до 10.8.0.5 повинен спрямовувати до 10.8.0.6 (!?)
  3. Весь трафік до 10.8.0.1/32 повинен спрямовувати до 10.8.0.5 (!?)

Чому 192.168.100 не збирається 10.8.0.1, а замість 10.8.0.5, а потім від 5 до 6, і тоді я вважаю, що 1/32 має відповідати 6, і здається, що є петля.

Я не можу пінг 10.8.0.5, але я думав, що це мій IP на vnetwork. Я не можу пінг 10.8.0.6, однак я думаю, що маскується, я отримую якийсь вивід "Зв'язок заборонена фільтром"

ifconfig показує:

tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    inet 10.8.0.6 --> 10.8.0.5 netmask 0xffffffff 
    open (pid 1307)

І є 6 - & gt; 5 знову!

ПРИМІТКА: звідси вниз просто конкретики, у випадку, якщо вам потрібно більше інформації, щоб зрозуміти маршрути.

Мої налаштування: - Ноутбук у локальній мережі (192.168.0 ..) з маршрутизатором (192.168.0.254) - VPN, підключений через віртуальний маршрутизатор (10.8.0.1) на мережі (10.8.0 ...) до мережі (192.168.100 ...) з маршрутизатором (192.168.100.1) - 192.168.100.200 - це сервер у віддаленій мережі

Тепер, коли я 'traceroute 192.168.100.200', я очікував

10.8.0.1 (маршрутизатор VPN з іншого боку)   192.168.100.1 (маршрутизатор у фізичній мережі з іншого боку)   192.168.100.200 (хост досягнуто.)

Замість цього я отримую нескінченний набір * s

Це не те саме це питання , і я не зміг знайти відповіді, тому дякую!


Це нитка будь-якого використання?
Raystafarian

Відповіді:


6

Ви читаєте інформацію про маршрут лише частково правильно.

tun0 - це віртуальний інтерфейс, який використовується для VPN, який використовує (для власних внутрішніх цілей) ланку точка-точка від 10.8.0.6 (VPNGW на стороні) до 10.8.0.5 (віддалена сторона VPNGW). Це те ж саме, що "ifconfig tun0" говорить вам. Ви не маєте доступу до цих двох адрес безпосередньо.

Отже, будь-який трафік, який ви проїдете через GW 10.8.0.5, буде входити в тунель VPN (через інтерфейс tun0), і виходити з тунелю VPN з іншої сторони (звичайно, припускаючи, що тунель VPN встановлений і працює, процес VPN працює з pid 1307).

10.8.0.1/32 10.8.0.5 UGSc 1 2 tun0

Це означає, що все, що надсилається на хост 10.8.0.1 (/ 32 є CIDR позначення, що означає "тільки цей хост") буде маршрутизовано через шлюз в 10.8.0.5 (тобто, він буде входити в тунель VPN).

Тому, коли ви пінгуєте 10.8.0.1, він працюватиме, тільки якщо тунелі VPN працюють. Ось чому саме тут (так що ви можете перевірити, чи працює тунель, навіть якщо жоден з комп'ютерів з іншого боку не піднявся).

192.168.100 10.8.0.5 UGSc 0 7 tun0

те ж, що й вище, але для цілої мережі класу C 192.168.100. * (він також міг би бути записаний як "192.168.100.0/24" в CIDR замість короткого "192.168.100"). Це головне, для якого ви налаштовуєте тунель - таким чином, ви отримуєте доступ до цього діапазону адрес на віддаленій стороні через VPN.

10.8.0.5 10.8.0.6 UH 2 3 tun0

цей ви помилилися, зверніть увагу на прапори "UH" - відсутні "G" означає, що безпосередньо підключена точка-точка зв'язку, а НЕ шлюз, через який ви можете направити дані. Таким чином, це НЕ означає, що трафік для 10.8.0.5 буде відправлений через 10.8.0.6, а тільки, що 10.8.0.5 безпосередньо видно на цьому комп'ютері (який має IP 10.8.0.6) за допомогою інтерфейсу tun0.

Чому 192.168.100 не переходить до 10.8.0.1, а замість 10.8.0.5, і   потім від 5 до 6, і тоді я вважаю, що 1/32 має відповідати 6, і це   здається, що є цикл.

Сподіваємося, що вищезгадана інформація розкрила ці помилки.

Я не можу пінг 10.8.0.5, але я думав, що це мій IP на vnetwork.   Я не можу пінг 10.8.0.6, але я думаю, що це маскується, я отримую деякі   висновок "Спілкування заборонено фільтром"

Так, ці два адреси використовуються внутрішньо інтерфейсом tun0, і ви не повинні турбуватися про них (якщо ви не використовуєте аналізатор трафіку між мережами тощо) - вони не працюватимуть так, як будуть регулярні адреси.


ОГО. Це чудова інформація. Дякую, я читав про прапори і був дуже близький до його розуміння, тепер я відчуваю, що у мене є! Дякуємо за пояснення!
nycynik

@Matija чи ви знаєте чому ping 10.8.0.6 переходить через тунель VPN? На Linux ping відповідає як loopback адреса.
PnotNP

@NulledPointer, ймовірно, різні деталі реалізації внутрішньої обробки точка-точка зв'язку. IIRC маршрутизатори Cisco також реалізують локальну обробку кінцевих точок посилання PtP таким же чином. Не те, щоб це мало значення (за винятком академічних вправ), оскільки на практиці ви ніколи не повинні робити нічого з цією IP-адресою (у прикладі вище, ви повинні ping 10.8.0.1 замість цього, якщо ви хочете перевірити, чи живий тунель VPN). Pinging 10.8.0.6 може перевірте, чи тунель VPN живий, або він не може (залежно від місцевої реалізації, як ви помітили), тому завжди слід уникати цього.
Matija Nalis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.