多个 DHCP NIC 和本地 LAN - Debian、Proxmox

多个 DHCP NIC 和本地 LAN - Debian、Proxmox

tl;dr:如何让 3 个 NIC 进行路由、备份/故障转移并相互通信?

我有一个带有 3 个 NIC 的 proxmox 服务器 vmbr1:公司局域网 - dhcp(工程部) vmbr2:机器人网络(静态) vmbr3:公司局域网 - 不同子网(业务部)

现在,我想通过 vmbr1 和 vmbr3 提供 VM。vmbr2 可以访问一些机器人和自动化系统。

我通过工程子网 ssh 到 vmbr1,并通过 wpa_supplicant 访问互联网(仅在 vmbr1 上工作)。有时我会在重启/重新加载后失去连接,因为路由不好,而且根本没有收到 dhcp 提供。

vmbr1 和 vmbr3 桥接至我的 vms 并将端口转发至我的 pfSense,后者在 robonet(vmbr2)中为 dhcp 提供服务。我希望主要通过 vmbr1 连接互联网,并通过两个接口为 vms 提供服务。

我勉强掌握了路由的想法,但却看不到让它运行的最终步骤。

接口:

# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface eno2 inet manual

auto eno1
iface eno1 inet static
        hwaddress ac:1f:6b:e9:6e:56
# zuweisung virtueller FAKE MAC um doppelte dhcp anfrage zu vermeiden

auto vmbr1
iface vmbr1 inet dhcp
        hwaddress ac:1f:6b:e9:7e:56
        wpa-conf /etc/wpa_supplicant/wpasupp.conf
        wpa-driver wired
        wpa-logfile /var/log/eit-wpa.log
        wpa-debug-level 2
        #pre-up /etc/network/preup.sh
        #post-down /etc/network/postdown.sh
        bridge-ports eno1

        post-up echo 1 > /proc/sys/net/ipv4/ip_forward

        post-up iptables -t nat -A PREROUTING -i vmbr1 -p tcp -m multiport ! --dport 22,8006 -j DNAT --to 192.0.0.2
        post-up iptables -t nat -A PREROUTING -i vmbr1 -p udp -j DNAT --to 192.0.0.2

        post-up ip route replace default via 10.152.32.254 dev vmbr1

# eit-w1, Zuweisung der originalen NIC ENO1 MAC.
# Öffnen der Firewall für alle ports außer 22 und 8006. April2022: 80 und 443 für nginx baremetal - wurde wieder entfernt für tests (16.8.2022)
# Öffnen aller udp ports zur pfsense

auto enx00e04c680542
iface enx00e04c680542 inet manual
        altname eno3
# USB NIC für vmbr3 IRAS-W0


auto vmbr3
iface vmbr3 inet dhcp
        hwaddress ac:1f:6b:e9:7e:73
        bridge-ports enx00e04c680542
        bridge-stp off
        bridge-fd 0
        #post-up route del default dev vmbr3
        #post-up ip route add 10.181.116.0/22 dev vmbr3 src 10.181.116.185 table irasnet
        #post-up        ip route add default via 10.181.116.254 dev vmbr3 table irasnet
        #post-up        ip rule add to 10.181.116.185/32 table irasnet
        #post-up ip rule add from 10.181.116.185/32 table irasnet
# IRAS W0 Brücke für VM ans ADS - Netzwerk. Funktioniert auch...

auto vmbr2
iface vmbr2 inet static
        address 172.31.1.25/16
        bridge-ports eno2
        bridge-stp off
        bridge-fd 0
        hwaddress ac:1f:6b:e9:7f:60

# robonet, lokaler Zugriff über eno2. NAT Forwarding kommt dann über die Pfsense


auto vmbr100
iface vmbr100 inet static
        address 192.0.0.1/30
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        hwaddress ac:1f:6b:e9:7f:61
        post-up   iptables -t nat -A POSTROUTING -s '192.0.0.0/30' -o vmbr1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.0.0.0/30' -o vmbr1 -j MASQUERADE

# firenet Brücke zur Firewall und nur für Kommunikation von Server zu Firewall mit NAT und PAT

#https://linuxhint.com/debian_network_interface_setup/
#https://wiki.debian.org/NetworkConfiguration#Using_DHCP_to_automatically_configure_the_interface

更新:

也许我的基本想法是错误的 - 我不确定我是否应该通过 iptables 和预路由来配置它,或者将 pfsense 直接连接到校园网 (companylan)。图 1 的目标是推出不同的 Web 服务,并使用 pfsense+haproxy 或 nginx 对它们进行反向代理,这些服务都托管在此服务器 (myproxmox) 上

  • myproxmox.campus.net/app1...(例如 pfsense、西门子 hmi)
  • myproxmox.campus.net/app2...

图片 1-当前情况,不知何故无法工作。

图片2-也许是更好或更简单的想法?

default via 10.152.47.254 dev vmbr1
10.152.32.0/20 dev vmbr1 proto kernel scope link src 10.152.32.76
10.181.116.0/22 dev vmbr3 proto kernel scope link src 10.181.116.185
172.31.0.0/16 dev vmbr2 proto kernel scope link src 172.31.1.25
192.0.0.0/30 dev vmbr100 proto kernel scope link src 192.0.0.1

相关内容