Netplan в Ubuntu 18.04 с несколькими интерфейсами, подключенными к Интернету

Я использую netplan для настройки интерфейсов в Ubuntu 18.04, но есть несколько проблем. Во-первых, показатель , похоже, не работает, так как он установлен на 0. Во-вторых, когда я использую networkd , вся сеть, похоже, не работает!

Настройка выглядит примерно так:

                                  Internet                     Internet 
     (local-link)                    /                         /           
 Dev1               |-----|        |-----|      |-----|                   - Dev11 (192.168.0.5)
    ----------------| eno |        | tun |      | usb | ---- (AP) -------|
 Dev2               |_____|        |_____|      |_____|     192.168.0.1   - Dev12 (192.168.0.6)
 (172.168.0.6)      172.168.0.2               192.168.0.2 
                 
                |------------------PC ------------------|

Файл YAML :

network:
  version: 2
  renderer: networkd
  ethernets:
    enp60s1:
      match:
        macaddress: 3b:2d:x:x:x
      addresses: [192.168.0.2/24]
      dhcp4: no
      optional: true
      gateway4: 192.168.0.1
      set-name: usb
      nameservers:
        addresses: [192.168.0.1,8.8.8.8]
      mtu: 8192  
      routes:
       - to: 0.0.0.0/0
         via: 192.168.0.1
         metric: 50
         table: 101
      routing-policy:
       - from: 192.168.0.0/24
         table: 101

Я надеялся использовать NetworkManager , но похоже, что нестандартные маршруты не поддерживаются. . Затем я запускаю

sudo netplan generate
sudo netplan apply
sudo service systemd-networkd restart

, но route -n дает:

Destination   Gateway      Genmask         Flags     Metric  Ref   Use   Iface  
0.0.0.0      192.168.0.1   0.0.0.0          UG        0       0    0      usb
0.0.0.0      10.100.80.1   0.0.0.0          UG       20000    0    0      wlan
10.8.0.0     0.0.0.0       255.255.255.0    U         0       0    0      tun
10.100.80.0  0.0.0.0       255.255.248.0    U         600     0    0      wlan  
172.168.0.0  0.0.0.0       255.255.255.0    U         0       0    0      eno
192.168.0.0  0.0.0.0       255.255.255.0    U         0       0    0      usb

, а затем хост (ПК) становится недоступным (удаленно подключается через ssh ).

Почему метрика не установлена, поскольку она определена в файле YAML ? Я хочу, чтобы разработчики, подключенные к AP, имели доступ к Интернету через AP, поэтому я пробую ping -w 1 8.8.8.8 -I usb , что приводит к 100% потере пакетов.

0
задан 15 June 2020 в 19:24

2 ответа

You are setting both:

  gateway4: 192.168.0.1

and:

  routes:
   - to: 0.0.0.0/0
     via: 192.168.0.1
     metric: 50
     table: 101

gateway4 is shorthand for a default route. You should not combine the two. This is almost certainly why your metric is being clobbered, because the gateway4 setting is overriding. A metric of 0 is not actually a problem since a metric of 0 has an even higher priority than one of 50, but all of your routing table settings would also be clobbered which is likely more the issue.

0
ответ дан 19 June 2020 в 21:24

Подключение нескольких интерфейсов с помощью DHCP : «Можно добиться точной маршрутизации, желаемой через DHCP, указав метрику для маршрутов, полученных через DHCP, что обеспечит предпочтение одних маршрутов по сравнению с другими. В этом примере «enred» предпочтительнее «engreen», поскольку он имеет более низкую метрика маршрута:"

network:
    version: 2
    ethernets:
        enred:
            dhcp4: yes
            dhcp4-overrides:
                route-metric: 100
        engreen:
            dhcp4: yes
            dhcp4-overrides:
                route-metric: 200
0
ответ дан 9 February 2021 в 14:23

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

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