Linux

如何在 Ubuntu 的橋接介面上設置 IP 別名

  • July 7, 2017

如何在 Ubuntu 上的網橋 (br0) 設備上設置 IP 別名?

如果我等待 br0 出現然後做

/sbin/ifconfig br0:0 192.168.10.1 netmask 255.255.255.0 

然後它工作正常。

但是,如果我將以下內容添加到我的 /etc/network/interfaces 文件中,它不起作用並且網路無法啟動:

auto br0:0
iface br0:0 inet static
  address 192.168.10.1
  netmask 255.255.255.0 

目前,我在 /etc/network/if-up.d/bridge_alias 中有一個腳本,它執行以下操作:

#!/bin/bash

if [ "${LOGICAL}" == "br0" ] && [ "${PHASE}" = "post-up" ]; then
       echo -n "Starting br0:0 ... "
       /sbin/ifconfig br0:0 192.168.10.2 netmask 255.255.255.0
       echo "Done!"
fi

但是,僅使用作業系統網路配置文件,這樣做的正確方法是什麼?

你可以做到這一點的唯一方法是從 ifconfig (或者可能是 ip addr add,但我沒有針對網橋檢查它)。if-up.d 沒問題,但我建議您在界面中使用 post-up,例如:

自動 br0: 0 
iface br0: 0 inet 靜態 
地址 192.168.10.1 
網路遮罩 255.255.255.0 
發布 /sbin/ifconfig br0:0 192.168.10.2 網路遮罩 255.255.255.0

您可以根據需要多次重複發布。

這是我正在使用的東西,適用於 Debian 8 和 Ubuntu 16.03:

auto lo
iface lo inet loopback

auto br1 
iface br1 inet static
   bridge_ports eth1 
   address  172.17.17.1
   netmask  255.255.255.0
   network  172.17.17.0
   broadcast 172.17.17.255
   post-up /usr/sbin/dhcpd 

auto br1:1 
iface br1:1 inet static
   address 172.17.17.2
   netmask  255.255.255.0
   network  172.17.17.0
   broadcast 172.17.17.255

引用自:https://serverfault.com/questions/548310