有人知道一个脚本或命令可以将所有需要的信息添加到 /etc/interfaces 以添加新的虚拟接口吗?
它需要添加一个新的:
iface eth0:4 inet static
address x.y.x.y
netmask 255.255.240.0
并更新主要网络接口。
auto eth0 eth0:1 eth0:2 eth0:3 eth0:4
答案1
#!/bin/sh
# Usage: addif alias_nic address netmask
cat >>/etc/network/interfaces <<EOF
auto $1
iface $1 inet static
address $2
netmask $3
EOF
ifup $1
答案2
我通常会在我的接口文件将附加地址与接口绑定。我使用 up/down 来执行外部知识产权命令是 iproute 包的一部分。
auto eth0
iface eth0 inet static
address 192.168.32.10
netmask 255.255.255.0
network 192.168.32.0
broadcast 192.168.32.255
gateway 192.168.32.1
# bind .25 for bar
up ip addr add 192.168.32.25/24 brd + dev eth0
down ip addr del 192.168.32.25/24 brd + dev eth0
# bind .47 for foo
up ip addr add 192.168.32.47/24 brd + dev eth0
down ip addr del 192.168.32.47/24 brd + dev eth0
当然,将这样的内容放入接口文件中也是合法的,尽管我更喜欢前者。
auto eth0
iface eth0 inet static
address 192.168.32.10
netmask 255.255.255.0
network 192.168.32.0
broadcast 192.168.32.255
gateway 192.168.32.1
auto eth0:1
iface eth0:1 inet static
address 192.168.32.25
netmask 255.255.255.0
auto eth0:2
iface eth0:2 inet static
address 192.168.32.47
netmask 255.255.255.0