Я использую 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% потере пакетов.
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.
Подключение нескольких интерфейсов с помощью 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