Переключення інтерфейсу за замовчуванням на маршрутний трафік


0

Я хочу переключити первинний мережевий інтерфейс моєї машини Ubuntu, я посилався на це: http://www.cyberciti.biz/faq/linux-setup-default-gateway-with-route-command/ .

Ось моя настройка для експериментів: я використовую маршрутизатор, щоб забезпечити з'єднання як wlan0, так і eth0, з різним IP (192.168.1.115 і 192.168.1.130 відповідно, шлюз 192.168.1.1). Зазвичай eth0 є типовим, тому я роблю:

route delete gw 192.168.1.1 eth0
route add gw 192.168.1.1 wlan0

Цікаво, що хоча 192.168.1.115 зараз є домінуючим IP, але я бачу вхідний трафік, захоплений у eth0 з 192.168.1.115 як IP-адреса призначення, а вихідний пакет у wlan0, як очікувалося.

Чому це відбувається? І який правильний спосіб зробити цю комутацію інтерфейсів?

Дякую.

Відповіді:


0

За замовчуванням Linux використовує модель "слабкого хоста" на IPv4; тобто він відповідає на запити ARP для будь-якої адреси, призначеної системі , навіть якщо вони надходили через інший інтерфейс.

Отже, коли маршрутизатор транслює запит ARP .115, ваш хост отримує його через обидва інтерфейси, надсилає відповіді через обидва, а маршрутизатор спочатку отримує відповідь по Ethernet.

Для зміни такої поведінки є два налаштування sysctl:

  • net.ipv4.conf.*.arp_filter

    Описано в Документація / мережа / ip-sysctl.txt: 1032 .

    1 - Дозволяє мати декілька мережевих інтерфейсів в одній підмережі та відповідати на ARP для кожного інтерфейсу залежно від того, чи буде ядро ​​спрямовувати пакет з IP-адреси ARP'd до цього інтерфейсу (тому ви повинні використовувати джерело на основі джерела маршрутизація для цього на роботу).

  • net.ipv4.conf.*.arp_ignore

    Описано в Документація / мережа / ip-sysctl.txt: 1082 .

    1 - відповідь, лише якщо цільова IP-адреса - локальна адреса, налаштована на вхідному інтерфейсі

Наприклад, ви можете встановити наступне sysctl.d:

net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.all.arp_ignore = 1

(Зверніть увагу, що я не повністю впевнений, яка настройка підходить в якій ситуації.)


Я використав два nrp_ignore один, вони здаються більш підходящими, але після перемикання у мого маршрутизатора часто виникають проблеми надсилати мені назад пакет. Запити надсилаються зазвичай на wlan0, але ніколи не повертаються.
Lingyuan Він
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.