Ubuntu 18.04 netplan статические маршруты

Нуждаюсь в помощи со статическими маршрутами в новой конфигурации 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 не делает работ.

9
задан 6 August 2018 в 11:28

2 ответа

В целом, что Вы хотите, вот:

  • Настройте единственный шлюз по умолчанию (с 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

Я надеюсь, что Вы находите это полезным!

13
ответ дан 23 November 2019 в 04:57

обходное решение, для получения Интернета и интранет оба в двух различных интерфейсах.

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.

0
ответ дан 23 November 2019 в 04:57

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

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