对于某些软件测试,我需要 12 个不同的 IP 地址来连接,每个 IP 地址都有一个唯一的 MAC 地址。我刚刚设置了一个 Arch Linux VM,但我不知道如何配置所有指向同一(虚拟)以太网端口的虚拟网络接口。
这可能吗?
答案1
您可以通过设置以太网桥来实现这一点。您可以有效地设置虚拟交换机/路由器,并根据需要添加任意数量的分接头/端口。
我已经设置了以下脚本,用于在隔离网络中运行多个虚拟机。希望它对你有用:
USER=username
NUMBER_OF_VM=4
BR_NAME=vbr
IP_RANGE=10.1.1.1/24
IP_ROUTE=10.1.1.0/24
# Creates a new instance of the ethernet bridge
echo "Creating bridge: $BR_NAME"
brctl addbr $BR_NAME
# Activate the bridge
ip link set up dev $BR_NAME
# Create persistent TAPs and attach to bridge
echo "Creating $NUMBER_OF_VM tap(s) to attach to the $BR_NAME bridge"
NB=0
while [ $NB -lt $NUMBER_OF_VM ]
do
tunctl -t vbxtap$NB -u $USER
ip link set up dev vbxtap$NB
brctl addif $BR_NAME vbxtap$NB
let NB=$NB+1
done
# Assign ip address and routing to the bridge interface
echo "Assign $IP_RANGE to $BR_NAME"
ip addr add $IP_RANGE dev $BR_NAME
#echo "Assign routing rule $IP_ROUTE to $BR_NAME"
#ip route add $IP_ROUTE dev $BR_NAME