Не может преобразовать '/etc/network/interfaces' 'конфигурация маршрутизатора в' netplan ', помогите?

У меня есть маломощная двухъядерная машина Celeron, под управлением Ubuntu 19.04, действуя как мой маршрутизатор. Это также работает lxd виртуальная машина с PiHole для DNS.

Это все работает хорошо и было в течение нескольких месяцев. Ubuntu 19.10 теперь отсутствует, хотя, и я обнаружил на другой машине, что конфигурация, которую я использовал, который имеет сетевой мост, необходимый для lxd настроенный в /etc/network/interfaces, больше работы в 19,10. Я успешно переместил другую машину с подобной конфигурацией моста в NetPlan, но я, может казаться, не выясняю, как сделать так для маршрутизатора. Я надеюсь, что кто-то здесь мог бы показать мне, где я иду не так, как надо.

Вот оригинал и рабочий в настоящее время /etc/network/interfaces файл:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# The WAN interface.
auto ethwan
iface ethwan inet dhcp
        dns-nameservers 208.67.222.222 208.67.220.220

# The (old) LAN interface.
iface eth0 inet manual

# The new LAN interface, on the new USB-to-Ethernet connection.
iface ethlan inet manual

# The *new* LAN interface.
auto br0
iface br0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        dns-nameservers 208.67.222.222 208.67.220.220
        bridge-ifaces ethlan
        bridge-ports ethlan
        up ifconfig ethlan up

Вот то, для чего я пытался использовать /etc/netplan/01-network-manager-all.yaml, после комментирования всех кроме двух lo строки выше:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  #renderer: NetworkManager
  renderer: networkd

  ethernets:
    # eth0 isn't used, as the hardware isn't reliable
    eth0:
      match:
        macaddress: f4:4d:30:67:0a:6c
      dhcp4: yes
      dhcp6: yes
      set-name: eth0

    ethlan:
      match:
        macaddress: 00:e0:4c:6a:03:3f
      set-name: ethlan
      dhcp4: no
      dhcp6: no

    ethwan:
      match:
        macaddress: 78:32:1b:a8:cc:1c
      dhcp4: yes
      dhcp6: yes
      set-name: ethwan

  bridges:
    br0:
      interfaces: [ethlan]
      dhcp4: no
      dhcp6: no
      addresses: [192.168.1.1/24]
      #gateway4: 192.168.1.1
      #nameservers:
      #  addresses:
      #  - 192.168.1.11

Сервер имен предоставляется через dnsmasq.

С этой установкой машина маршрутизатора может получить доступ к Интернету без проблем - но lxd виртуальная машина не может получить доступ к большинству сайтов вообще (когда я работаю sudo apt update на нем он говорит, что это совершает нападки http://security.ubuntu.com/ubuntu, но, может казаться, не достигает http://archive.ubuntu.com/ubuntu), и машины в другом месте в сети имеют подобные проблемы (я не могу добраться до Google или DuckDuckGo, но моя жена может достигнуть Facebook на своем iPad). Я подозреваю тех, что это может достигнуть происходят из-за DNS, кэширующегося где-нибудь вдоль строки.

Я попытался не комментировать обоих gateway4 строка и три строки сервера имен, вместе и отдельно. Строка шлюза, кажется, препятствует тому, чтобы он работал вообще (я не уверен во внутренних деталях, но это, кажется, имеет смысл); строки сервера имен, кажется, не имеют эффекта. Я также попробовал его NetworkManager как рендерер, который также, кажется, заставляет это не работать вообще.

Кто-либо может видеть, где я пошел не так, как надо или предлагаю изменение, которое могло бы зафиксировать его?Спасибо!

ОБНОВЛЕНИЕ:

ip route данные, с работой /etc/network/interfaces установка:

default via 45.74.106.33 dev ethwan
default dev eth0 scope link metric 1002 linkdown
default dev ethlan scope link metric 1003
default dev wlp2s0 scope link metric 1005 linkdown
45.74.106.32/27 dev ethwan proto kernel scope link src 45.74.106.51
169.254.0.0/16 dev eth0 proto kernel scope link src 169.254.5.39 linkdown
169.254.0.0/16 dev wlp2s0 proto kernel scope link src 169.254.8.207 linkdown
169.254.0.0/16 dev ethlan proto kernel scope link src 169.254.4.254
169.254.0.0/16 dev ethwan scope link metric 1000
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1

Те же данные, с netplan установка:

default via 45.74.106.33 dev ethwan
default via 198.2.97.225 dev ethwan proto dhcp src 198.2.97.228 metric 100
default dev ethlan scope link metric 1003
default dev wlp2s0 scope link metric 1005 linkdown
45.74.106.32/27 dev ethwan proto kernel scope link src 45.74.106.51
169.254.0.0/16 dev wlp2s0 proto kernel scope link src 169.254.8.207 linkdown
169.254.0.0/16 dev ethlan proto kernel scope link src 169.254.4.254
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
198.2.97.224/27 dev ethwan proto kernel scope link src 198.2.97.228
198.2.97.225 dev ethwan proto dhcp scope link src 198.2.97.228 metric 100

Я думаю новое 198.2.97.225 адрес является дополнительным адресом что мой ISP, присвоенный во время моих попыток. Кроме этого и реконструкции строк, это смотрит главным образом то же мне, но я не знаю много о выводе той команды.

Однако при попытке его, я сделал очень странное исследование. Когда я использую netplan конфигурация выше, машины в локальной сети могут добраться до любого сайта кроме сайтов TLS/SSL. curl -v http://google.com возвращает данные с 301 перенаправлением, curl -v https://google.com добирается до строки, которая говорит * TLSv1.3 (OUT), TLS handshake, Client hello (1): и затем это просто останавливается. Я полагаю, что это объясняет, почему некоторые обработанные сайты и другие не сделали в соответствии с той конфигурацией.

Я думал, что это могло бы быть iptables проблема, за исключением того, что это хорошо работает под /etc/network/interfaces установка.

Еще более запутанный теперь.:-?

2
задан 29 October 2019 в 17:49

2 ответа

Маршрутизатор форсировал события: что-то было вчера повреждено на нем (я не уверен, как, я ничего не сделал на нем вчера вообще), это запиралось после нескольких минут. Вместо того, чтобы переустанавливать Ubuntu 19.04, я решил к песку зубы, установите новую Ubuntu 19.10 и найдите ответ на проблемы. Я не сожалею о нем, но что долбаная' боль в хвосте!

После того, как шесть часов исследования и отладки, которую это поворачивает там, были несколькими проблемами.

Первое было самым простым: Я должен был добавить a nameservers разделите к br0 конфигурация. Я не уверен, что это было необходимо для конечного решения, так как оно использует dnsmasq для обработки этого но это, казалось, решило некоторые проблемы.

Второе было этим /etc/network/iptables автоматически не читался больше. Это было ранее сделано /etc/network/if-pre-up.d/iptables, файл, что я думаю, что создал, первоначально настраивая брандмауэр. Решенный это путем добавления строки к корню crontab: @reboot /etc/network/if-pre-up.d/iptables.

Заключительная проблема была самой жесткой, и я не совсем уверен, как она была на самом деле зафиксирована (ОБНОВЛЕНИЕ: посмотрите ниже). После фиксации первых двух я мог получить доступ ко всем интернет-сайтам кроме сайтов HTTPS, как описано выше. Но это не были все сайты HTTPS, потому что Facebook все еще работал, и я смог добраться до https://google.com пару раз также! Таким образом, это не была на самом деле проблема с системой HTTPS. Потраченный на большое количество времени, детально изучая мой iptables установка, только чтобы в конечном счете решить, что не было ничего неправильно с ним.

Я споткнулся комментарий о том являющемся признаком неправильной установки MTU, провел час или два проигрывания с различными вещами, связанными с ним (все из которых повредили вещи далее) прежде, чем решить, что это не могло быть проблемой.

Наконец споткнувшийся другой комментарий, говоря, что включение IPv6 может вызвать проблемы, которые похожи на это. Измененный dhcp6 строки к no, и добавил a link-local: [ ] строка или два. Я не уверен, что на самом деле добилось цели, но внезапно это все работало снова.

ОБНОВЛЕНИЕ, два дня спустя:

Этим утром я перезагрузил машину маршрутизатора по несвязанным причинам. Внезапно проблемы HTTPS вернулись! Вошедший маршрутизатор снова и работал ifconfig видеть, вновь появились ли IPv6 локальные для ссылки адреса... br0 имел один, но ethwan не сделал, таким образом, я полагал, что это не могло быть проблемой.

Затем я думавший посмотреть на значения MTU это ifconfig если. Я знаю для факта что MTU на ethwan был 1500, когда он работал, потому что я проверил его, когда все начало работать правильно. Но это было теперь установлено на 576! По-видимому, проблемы HTTPS, которые я имел, происходили все из-за установки MTU, и это становилось неправильным установленным иногда. Никогда не имел проблему с ним, прежде чем я переключился на NetPlan, не уверенный, почему я теперь.

Так как я знал надлежащее значение MTU, я поместил его в конфигурационный файл NetPlan и работал sudo netplan apply. О чудо все внезапно начало работать снова.

Хороший для окончательного понимания, что продолжалось там. Я не был доволен объяснением IPv6, что-то казалось прочь с ним, потому что вещи начали работать над перезагрузкой после того, как они имели бы, если бы это было ответом, если это имеет какой-либо смысл.

Я обновил конфигурацию ниже для включения изменения MTU.

Так или иначе вот заключительный файл NetPlan, /etc/netplan/01-network-manager-all.yaml, это работает над моим маршрутизатором:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  #renderer: networkd

  ethernets:
    eth0:
      match:
        macaddress: f4:4d:30:67:0a:6c
      dhcp4: yes
      dhcp6: yes
      set-name: eth0

    ethlan:
      match:
        macaddress: 00:e0:4c:6a:03:3f
      set-name: ethlan

    ethwan:
      match:
        macaddress: 78:32:1b:a8:cc:1c
      dhcp4: yes
      dhcp6: no
      link-local: [ ]
      set-name: ethwan
      mtu: 1500

  bridges:
    br0:
      interfaces: [ethlan]
      addresses: [192.168.1.1/24]
      nameservers:
        addresses: [208.67.222.222, 208.67.220.220]
      link-local: [ ]

Я отправляю это в надеждах, что это поможет другим, которые сталкиваются с этим видом проблемы. И возможно я также, если я испытываю затруднения в следующий раз, я должен восстановить эту систему маршрутизатора.;-)

1
ответ дан 2 December 2019 в 03:26

Как первый шаг в отладке этого, попытайтесь получить вывод ip route когда Вы настроили систему с ifupdown; затем отключите ifupdown и включите netplan, перезагрузку, и получите вывод снова и сравните результаты.

Одним различием, которое видимо между этими двумя конфигурациями, является Ваша обработка eth0 интерфейс, который под ifupdown Вы установили на 'ручную' конфигурацию и под netplan, который Вы настраиваете с dhcp. Это могло, конечно, вызвать различие, которое вмешивается в Вашу возможность соединения.

1
ответ дан 2 December 2019 в 03:26

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

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