我們有一台具有多個 IP 位址的伺服器。最近我們遷移到了 systemd,但我們仍然需要該伺服器上的多個 IP。對於 systemd-networkd,我們很難找到設定範例。因此,我們在啟動過程結束時使用 bash 腳本將 ip 新增到介面。
有人可以提供一個 systemd-networkd 設定範例,用於將多個 IP 新增到一個介面。
答案1
根據系統網路(5),您可以簡單地將多Address=
行新增至該[Network]
部分,並包含所需的位址。
[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
Gateway=...
或者,[Address]
為每個位址建立一個單獨的部分。
[Network]
Gateway=...
[Address]
Address=10.2.3.4/16
[Address]
Address=10.6.7.8/16
(這同樣適用於[Route]
部分和Gateway=
參數。)
注意systemd-networkd仍然很新,幾乎每天都會收到錯誤修復。確保您使用的是最新的 systemd 版本,並在可能的情況下測試 Git 版本。請參閱郵件清單#systemd
以及freenode 上的IRC 頻道#gentoo-systemd
,以防出現錯誤。
答案2
我在 Proxmox 下使用一個容器,Proxmox/etc/systemd/network/eth0.network
在容器中編寫自己的容器。為了避免無法依賴該文件不被覆蓋的情況,您可以使用附加 IP 位址建立一個嵌入式文件,/etc/systemd/network/eth0.network.d/additional-ips.conf
[Match]
Name = eth0
[Address]
Address = 192.168.1.102/24
答案3
使用 Arch Linux、SystemD 249.2-1,這 (3) 種方法都不起作用(也嘗試過這個答案)
-------------------------
[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
-------------------------
[Network]
Address=192.168.59.1/24 192.168.1.5/24
-------------------------
[Address]
Address=10.2.3.4/16
[Address]
Address=10.6.7.8/16
-------------------------
相反,使用簡單的 SystemD 服務,您可以在啟動後設定第二個 IP...請參閱這個答案有關 systemd 服務建立的更多詳細資訊...獎勵點:此方法可讓您使用靜態或 DHCP 作為主位址。
- 觸碰 /usr/local/bin/second_ip
- chmod +x /usr/local/bin/second_ip
- 如下編輯文件
#!/bin/bash ip address add 10.10.128.128/16 dev eth0
觸碰 /etc/systemd/system/second-ip.service
如下編輯文件
systemctl 啟用第二個IP
[Unit] Description=second ip service After=network.target [Service] User=root ExecStart=/usr/local/bin/second_ip Type=simple [Install] WantedBy=multi-user.target