
我有一台 Hetzner 專用伺服器,有單一網路卡和兩個公用 IP 位址(兩個 IP 都有自己的網關)。正確知道它只有一個用 neplan 配置的位址。下面是我的配置
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
addresses:
- x.x.x.x/32 #Main IPv4 address
- xx.xx.xx.xx::2/64 #IPv6
routes:
- on-link: true
to: 0.0.0.0/0
via: gx.gx.gx.gx #Main IPv4 address Gateway IP
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
現在我想將網路配置為有兩個公用 IP 作為橋接器,因為我想與 kvm 來賓電腦共用它。這是我的嘗試之一:
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
dhcp4: false
dhcp6: false
bridges:
kvmbr0:
interfaces:
- enp195s0
addresses:
- x.x.x.x/32 #Main IPv4 address
- y.y.y.y/32 #Additional IPv4 address
routes:
- to: 0.0.0.0/0
via: gx.gx.gx.gx #Main IPv4 address Gateway IP
table: 1
metric: 100
- to: 0.0.0.0/0
via: gy.gy.gy.gy #Additional IPv4 address Gateway IP
table: 2
metric: 200
mtu: 1500
dhcp4: no
dhcp6: no
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
parameters:
stp: false
forward-delay: 4
問題是,在應用netplan之後,我總是失去網路連線:/我有一個腳本,如果我不停止它,它會在幾分鐘後恢復預設的netplan配置,所以我很難檢查伺服器上發生的情況,但我想這與路由有關。我是 netplan 配置的新手,您能幫我找到正確的解決方案嗎?
答案1
我找到了解決方案。就是下面的
network:
version: 2
renderer: networkd
ethernets:
enp195s0:
dhcp4: false
dhcp6: false
bridges:
kvmbr0:
interfaces:
- enp195s0
addresses:
- x.x.x.x/26 # <- netmask here
- y.y.y.y/29 # <- netmask here
routes:
- to: 0.0.0.0/0
via: gx.gx.gx.gx
metric: 100
- to: nx.nx.nx.nx/26 # <- route to main IP network
via: gx.gx.gx.gx # <- via main IP gateway
metric: 100
table: 1 # <- with routing table assignment
- to: 0.0.0.0/0
via: gy.gy.gy.gy
metric: 200
- to: ny.ny.ny.ny/29 # <- route to additional IP network
via: gy.gy.gy.gy # <- via additional IP gateway
metric: 200
table: 2 # <- with routing table assignment
routing-policy: # <- routing policies for IPs networks
- from: nx.nx.nx.nx/26
table: 1 # <- appropriate routing table
- from: ny.ny.ny.ny/29
table: 2 # <- appropriate routing table
dhcp4: no
dhcp6: no
nameservers:
addresses:
- 185.12.64.2
- 185.12.64.1
- 2a01:4ff:ff00::add:1
- 2a01:4ff:ff00::add:2
parameters:
stp: true
forward-delay: 4
主要問題是網路遮罩。它不應該是 32 位,因為它們不包含網關 IP。這就是我失去網路連線的原因。因此,我將 IP 位址網路中的正確網路遮罩放在那裡。
需要進行其他更改以允許額外的 IP 與互聯網通訊。