总结:有没有什么好的方法可以使我的网络配置/操作更新到现在,而不会破坏我的 docker 和 lxc 桥,并保留我的自定义 lan(静态)/ wan(dhcp)内容?
细节:
我在家用网络连接的 ubuntu 服务器上运行了一堆 lxc 容器中的 Web 服务器,用于满足我的一些爱好(实际上用得相当多),以及本地 NAS、一些 docker 容器(homeassistant!)等等。所以上面有很多遗留的东西。当然,网络就是其中之一。
主机服务器最初是 Ubuntu 12.04,当时它是全新的;我大概在 2017 年升级到 16.04;大概在 2021 年升级到 20.04;最近升级到 22.04。您无疑知道,网络在此期间经历了许多变化……
我最近决定在 Docker 容器中为我的家庭网络安装 pi-Hole,该网络位于设备路由器 (EdgeRouterX) 后面。它非常适合这个目的。但我不得不禁用 dnsmasq - 因为安装说明 - 这破坏了主机 DNS。我通过手动编辑 resolv.conf 修复了它
该服务器与局域网以及广域网直接连接,因此它有点位于家庭网络之外,并且具有不同的外部 IP,但仍然可以与局域网上的设备通信。
我的问题基本上是这样的:每当我去做任何新的事情时,所有的指令都假设 NetworkManager.service 或较旧的service network-manager
,但我仍然在service networking
几天后回来,并且编辑我的/etc/network/interfaces
,尽管进行了所有的升级,并且当所有的事情都变得非常难以管理时我要做的与所有较新的指南都不同。我已经研究了很长时间,通常可以让它工作,但是一定有更好的方法!?
确实,这/etc/network/interfaces
很简单(虽然我不记得如何为以太网端口设置别名):
auto lo
iface lo inet loopback
auto wan
iface wan inet dhcp
auto lan
iface lan inet static
address 192.168.2.88
netmask 255.255.255.0
network 192.168.2.0
Docker 似乎使用了 NetworkManager 服务,因为systemctl is-active NetworkManager.service
它返回active
并nmcli
列出了所有 docker 容器和网桥;但其他一切都是“不受管理的”,而 LXC 似乎以其他方式处理自身,并且其 ip 都在各个容器配置中配置。我使用 shorewall 作为防火墙,它似乎可以处理一些魔法。
此时,我不知道如果重新启动,我的 DNS 解析将如何进行,或者是否resolv.conf
每次都必须手动编辑。
我通常也只是远程进入服务器,尽管我可以将显示器插入其中,并使用 gnome-fallback。
因此问题是:
有没有好的方法可以将我的网络配置/操作更新到最新状态,而不会破坏我的 docker 和 lxc 桥接器,并保留我的自定义 lan (静态)/wan(dhcp) 内容,并修复我的 dns 解析?或者,最好只是保留旧版?