Внесіть постійні зміни в таблицю маршрутизації


10

У мене є Raspberry PI 2 модель B з малиновою версією Джессі, і я намагаюся перенести Інтернет з мого ПК на Raspberry. У мене між ними 2 мережеві інтерфейси, один над Ethernet, а другий через Wifi. Я налаштував ip-адресу Ethernet в Raspberry як статичну, тому що вдома є невелика комп'ютерна мережа зі всіма статичними IP-адресами, і я хочу, щоб малина була частиною цього. Оскільки мій Інтернет дуже повільний (я використовую модем комутованого зв’язку), я не хочу ділитися цим повільним Інтернетом через інтерфейс Ethernet, тому що я не хочу, щоб усі комп'ютери, підключені до цієї мережі, швидше заряджали Інтернет. Оскільки я лише маю намір піднести Інтернет до Raspberry, я створив точку доступу Wifi на своєму ПК, яка динамічно призначає IP-адресу моєї Raspberry (програмне забезпечення гарячої точки має якийсь DHCP) і це '

Але тоді моя проблема починається, за замовчуванням після того, як я її вмикаю (або якщо я відключаюсь і знову підключаюся), Малина не підключається до Інтернету. Ввівши ifconfig:

eth0     
Link encap:Ethernet  HWaddr b8:27:eb:4e:35:65  
inet addr:100.100.100.25  Bcast:100.100.100.255  Mask:255.255.255.0
inet6 addr: fe80::ba27:ebff:fe4e:3565/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

wlan0     
Link encap:Ethernet  HWaddr 74:da:38:55:f3:a2  
inet addr:192.168.137.201  Bcast:192.168.137.255  Mask:255.255.255.0
inet6 addr: fec0::12:c4f1:c3fc:eb1e:3153/64 Scope:Site
inet6 addr: 2002:be0f:9cea:12:1bc0:1969:c17d:f854/64 Scope:Global
inet6 addr: fe80::bdca:7255:2e27:8341/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Коли я набираю, route -nя отримую:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
0.0.0.0         192.168.137.1   0.0.0.0         UG    303    0        0 wlan0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

Тут ви можете побачити, як показник мого статичного шлюзу підключення до Ethernet (100.100.100.1) менший, ніж показник мого шлюзу підключення Wi-Fi DHCP (192.168.137.1), тому мій Raspberry намагається отримати Інтернет через неправильний інтерфейс

після введення:

sudo route delete  default gateway 192.168.137.1 

і потім :

sudo route add  default gateway 192.168.137.1

моя таблиця маршрутизації зафіксована на:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.137.1   0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

а Малина має доступ до Інтернету.

Мої запитання:

  1. Чи є спосіб автоматизувати цей процес, тому мені не доведеться вручну робити це кожного разу, коли вмикаю малину?
  2. Чи є спосіб його автоматизувати, щоб він завжди розпізнавав, що він повинен отримувати Інтернет від Wi-Fi незалежно від діапазону IP, який DCHP надає для цього пункту доступу?
  3. Чому нижній показник автоматично був призначений інтерфейсу Ethernet?

Я вже перевірив рішення в розділі Як змінити таблицю маршрутизації? але це не працює для мене, тому що в Raspbian Jessie ви не редагуєте безпосередньо, /etc/network/interfacesа ви редагуєте, /etc/dhcpcd.confщоб отримати статичну IP-адресу

Відповіді:


11

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

Це не потрібно, якщо питання №2 можна вирішити - і воно може ...

Чи є спосіб його автоматизувати, щоб він завжди розпізнавав, що він повинен отримувати Інтернет від Wi-Fi незалежно від діапазону IP, який DCHP надає для цього пункту доступу?

На /etc/dhcpcd.confдодаток

interface wlan0;
metric 200;

interface eth0
metric 300;

Це призначить нижній показник інтерфейсу WLAN, щоб вибрати його для запитів в Інтернеті.

Чому нижній показник автоматично був призначений інтерфейсу Ethernet?

Оскільки саме так визначаються показники відповідно до людини dhcpcd.conf (5) :

 metric metric
         Metrics are used to prefer an interface over another one, lowest
         wins.  dhcpcd will supply a default metric of 200 +
         if_nametoindex(3).  An extra 100 will be added for wireless
         interfaces.

+1 Дякую, я ще не мав відповіді. Я виконував сценарій вручну кожен раз, коли мені потрібно було це зробити
VMMF

Зверніть увагу, це не працює для з'єднань, що не є DHCP. Якщо у вас є статичне з'єднання в / etc / network / інтерфейсах, ви можете встановити метрику шлюзу, замінивши шлюз xxx.xxx.xxx.xxx на верхній шлях, додайте метрику gw xxx.xxx.xxx.xxx за замовчуванням ###
Sameer Puri

0

Що я роблю, це просто змусити його працювати під завантаженням.

Додайте sudo route delete defaultта sudo route add default gateway 192.168.137.1, у такому конкретному порядку, у свій /etc/init.d/rc.localфайл.

Я забув, чи /etc/init.d/rc.localспрацьовує Джессі з коробки, або навіть якщо ти торкнешся цього чи ні, але слід знайти тривалість, щоб знайти інше рішення (я вже це робив) .

І це вирішує №1.


Для визначення пріоритетності з'єднань рекомендую встановити ifmetric. Потім просто розставіть пріоритети у своїх зв’язках/etc/network/interfaces

Найвищий пріоритет - 0, наступний - 1, потім 2 тощо.

iface eth0 inet dhcp
 metric 1

iface wlan0 inet static
 address 192.168.0.1
 netmask 255.255.255.0
 network 192.168.0.0
 metric 0

iface eth1 inet dhcp
 metric 2

І це все для №2.


Я думаю, що №3 сталася тому, що розробники подумали, що WiFi є пріоритетним у селянських неенергетичних середовищах. Я міг лише міркувати, оскільки не можу знайти жодної інформації про це.

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