Я использую этот скрипт для создания моста для 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 будет ждать, пока не появится интерфейс "eth0" (у него уже будет IP-адрес, network/interfaces
сценарий присвоил это). Но когда запускается приведенный выше скрипт, интерфейс eth0 отключается, теряет свой IP и добавляется к мосту. Поэтому вместо того, чтобы использовать приведенный выше сценарий в качестве upsatrt-задания, я хочу добавить его в network/interfaces
сценарий. Как это сделать?
Такой раздел должен быть довольно близок к тому, что вы хотите. REF
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