Нуждаюсь в помощи со статическими маршрутами в новой конфигурации netplan. Имейте сервер человечности 18.04 с 2 сетевыми интерфейсами, Ethernet и wlan. После успешного основного конфигурирования в/etc/netplan/50-cloud-init.yaml у меня есть обе сети. Но enp3s0 является интранет, wlp2s0 является маршрутизатором Wi-Fi. И я не могу сделать Интернет по Wi-Fi. После нескольких дней, настраивая/реконфигурировав файл Yaml я не могу заставить это работать.
Только удаляя шлюз по умолчанию/sbin/route del default gw 10.185.0.1 работы, но, чем никакая маршрутизация к интранет. Направьте список-n
То, как добавляют, что это направляет i, понятия не имеет...
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: []
dhcp4: true
gateway4: 10.185.0.1
nameservers:
addresses: [10.185.x.x, y.y.y.y]
routes:
- to: 10.185.0.0/0
via: 10.185.0.1
metric: 100
table: 101
routing-policy:
- from: 10.185.0.0/24
table: 101
wifis:
wlp2s0:
addresses: []
dhcp4: true
optional: true
gateway4: 192.168.8.1
access-points:
"Wifi":
password: "password"
nameservers:
addresses: [8.8.8.8,8.8.4.4]
routes:
- to: 0.0.0.0/0
via: 192.168.8.1
metric: 90
table: 91
routing-policy:
- from: 192.168.8.0/24
table: 91
UPD: конфигурация Переопределения /etc/systemd/network/
. Используя UseRoutes=false
вызовите бесконечный сетевой поиск при начальной загрузке, установив RouteMetric=700
работы лучше, получил Интернет по Wi-Fi после начальной загрузки! Но добавляя новый маршрут как: 10.180.0.0/16
через 10.185.0.1 причины не эффект, не появляются в таблице маршрутизации ядра маршрута.
И я все еще неправильно понимаю, почему tracerout 172.16.185.194 проходят 192.168.8.1. Я читал о ip4 таблице, но - to: 172.16.0.0/12
или /16
не делает работ.
В целом, что Вы хотите, вот:
Настройте единственный шлюз по умолчанию (с gateway4
), в интерфейсе, который переходит к Интернету. Если Вы установите шлюзы по умолчанию на обоих, то половина пакетов будет направлена к Вашей Интранет и не сможет достигнуть их desintation.
Если Ваша Интранет имеет несколько подсетей, то Вам нужны статические маршруты для достижения тех, которые через интерфейс, подключенный к Интранет. (Один пример мог бы направлять любые подсети RFC1918 к тому интерфейсу, который, вероятно, будет хорошей идеей.)
Теперь, в Вашем определенном примере, Вы не описали свою Интранет полностью, но давайте предположим, что Ваша Интранет сделана из 10.185.x.y сеть, другими словами, 10.185.0.0/16.
Давайте также примем Ваш интерфейс enp3s0 предоставление, Вы получаете доступ к интранет, получит IP в 10.185.0.z подсеть, другими словами, 10.185.0.0/24 подсеть, и что шлюз в той подсети 10.185.0.1.
Таким образом, Вам нужен статический маршрут для достижения оставления 10.185.x.y подсети, где x не 0.
Можно использовать конфигурацию, такую как та ниже для установки этого:
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses: []
dhcp4: true
nameservers:
addresses: [10.185.x.x, y.y.y.y]
routes:
- to: 10.185.0.0/16
via: 10.185.0.1
wifis:
wlp2s0:
addresses: []
dhcp4: true
optional: true
gateway4: 192.168.8.1
access-points:
"Wifi":
password: "password"
nameservers:
addresses: [8.8.8.8,8.8.4.4]
В этой отредактированной конфигурации заметьте что:
Существует нет gateway4
в enp3s0 конфигурации, так как Вы не хотите, чтобы трафик перешел к тому интерфейсу по умолчанию, только когда это - трафик, предназначенный к Вашей Интранет, которая настраивается через статический маршрут.
С другой стороны wlp2s0 не нужны никакие статические маршруты, так как ему присоединили шлюз по умолчанию к нему, который является достаточно.
Нет никакой потребности в таблицах маршрутизации и политиках маршрутизации, все, что необходимо сделать, настраивается статический маршрут (или несколько статических маршрутов), чтобы покрыть внутренние адреса в Интранет и направить их через IP шлюза в той сети, которая может направить Вас к другим подсетям, с которыми Вы непосредственно не подключены.
Обратите внимание на то, что эта установка на самом деле зависит от части из того, что Ваш сервер DHCP во внутренней сети настраивает для Вас, такие как Ваш интерфейс, находящийся в 10.185.0/24 сети и что 10.185.0.1 шлюз, который можно использовать в том интерфейсе... По этой причине возможно, лучшая установка должна была бы иметь сервер DHCP в Вашем нажатии Интранет статические маршруты (вместо того, чтобы настроить их в netplan.) Тот путь, если Интранет реконфигурирована, возможно, для изменения IP шлюза, или возможно расширена для включения других частных диапазонов RFC1819, только сервер DHCP, должен быть реконфигурирован и не все остальное...
Но если сервер DHCP находится вне Вашего контроля, то эта установка могла бы быть приемлемой, предположив, что внутренняя сеть не реконфигурирована слишком часто так, чтобы IP шлюза изменился бы. Вы могли бы хотеть рассмотреть добавляющие статические маршруты ко всем диапазонам RFC1918, так как это будет недопустимо в Интернете, таким образом, они могли бы только быть сделаны допустимыми в Интранет:
routes:
- to: 10.0.0.0/8
via: 10.185.0.1
- to: 172.16.0.0/12
via: 10.185.0.1
- to: 192.168.0.0/16
via: 10.185.0.1
Я надеюсь, что Вы находите это полезным!
обходное решение, для получения Интернета и интранет оба в двух различных интерфейсах.
Intranet IP : 192.168.10.0/24 , interface enp0s8
Internet IP : 0.0.0.0/0 , interface enp0s3
Nat gateway : 10.0.2.2
a) Создайте файл rc.local
в /etc
каталог.
поместите статические маршруты в это как ниже.
#!/bin/sh -e
ip route del 0.0.0.0/0 via 192.168.10.1 dev enp0s8
ip route add 0.0.0.0/0 via 10.0.2.2 dev enp0s3
ip route add 192.168.10.0/24 via 192.168.10.1 dev enp0s8
exit 0
b) сделайте это исполняемым файлом и перезапустите vm.