我正在使用这个脚本为 openvpn 创建桥接器:
#!/bin/bash
br="br0"
tap="tap0"
eth="eth0"
eth_ip="192.168.8.4"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.8.255"
for t in $tap; do
openvpn --mktun --dev $t
done
brctl addbr $br
brctl addif $br $eth
for t in $tap; do
brctl addif $br $t
done
for t in $tap; do
ifconfig $t 0.0.0.0 promisc up
done
ifconfig $eth 0.0.0.0 promisc up
ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast
route add default gw 192.168.8.1
我已将此脚本作为 ubuntu 上的 upstart 作业运行。upstart 作业将等待“eth0”接口启动(它已经有一个network/interfaces
脚本为其分配的 IP)。但是当上述脚本运行时,eth0 接口关闭,丢失其 IP 并被添加到网桥中。因此,我不想将上述脚本用作 upsatrt 作业,而是想将其添加到脚本中network/interfaces
。如何做到这一点?
答案1
像这样的部分应该非常接近您想要的。参考
auto br0
iface br0 inet static
pre-up openvpn --mktun --dev br0
post-down openvpn --rmtun --dev br0
bridge_ports br0 eth0
address 192.168.8.4
netmask 255.255.255.0
gateway 192.168.8.1