我有一台双宿主 Ubuntu 22.04.2 LTS 服务器,其中一个 NIC 位于 DMZ,另一个位于 LAN。我一直在努力解决 netplan 配置问题,由于网关配置和路由最近发生了变化,我的搜索发现了许多关于如何实现所需配置的混合建议。我已阅读 netplan 文档:https://netplan.readthedocs.io/en/latest/netplan-tutorial/
目前我有以下设置:
ip r
default via 192.168.2.2 dev eth0 proto static metric 100 onlink
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-e9fa8283d45d proto kernel scope link src 172.18.0.1
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.39
192.168.14.0/24 dev eth1 proto kernel scope link src 192.168.14.2
网络计划:
这是由“subiquity”编写的网络配置
network:
ethernets:
# LAN NIC #
eth0:
addresses:
- 192.168.2.39/24
dhcp4: no
nameservers:
addresses:
- 192.168.2.33
- 192.168.2.99
routes:
- to: default
via: 192.168.2.2
metric: 100
on-link: true
# DMZ NIC #
eth1:
addresses:
- 192.168.14.2/24
dhcp4: no
routes:
- to: 0.0.0.0/0
via: 192.168.14.1
metric: 100
on-link: true
table: 199 #DMZ routing table
routing-policy:
- from: 192.168.14.2
table: 199 #DMZ routing table
version: 2
我想要实现的目标:
1. 允许互联网访问和本地网络通过 LAN 连接出去。
2. 允许从我们的 NAT 公共 IP 到 DMZ 接口的入站流量:192.168.14.2 到达我们的 Web 应用程序并在原始 NIC(DMZ)上返回。
目前,使用此配置我可以访问互联网,但我的 Web 应用程序超时。我已进行数据包跟踪,以确定标志 [S] 的流量正在进入 Ubuntu 服务器,但没有回复返回。
我发现,如果我将默认路由(默认通过 192.168.2.2 dev eth0 proto static metric 100 onlink)替换为默认通过 192.168.14.1 dev eth1 proto static metric 100 onlink,那么我的 Web 应用程序就可以正常工作,而且我可以看到返回流量,但是我的服务器无法访问互联网,因为我需要该流量(更新等)通过 LAN 接口出去。
请提供一些关于我需要什么样的 netplan 配置才能允许双 NIC 工作并在重启时继续运行的指导。
预先感谢您的任何帮助。