blob: 2ca1f0c5366a3b8fa9d339304b7d82cc58ea7665 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/bin/sh
set -e
# A short script to setup the network on a server creating bridges for each
# vlan specified.
# Why? NetworkManager sucks and so do other network utilities. This is simple
# and fits the need of creating a virtual machine host that can place VMs
# on any one of the vlans.
defaultrouter="10.9.8.7"
nameservers="10.11.12.13 10.12.14.16"
vlan_ifs="eth0 eth1 eth3"
eth0_vlan_ids="10"
eth0_vlan_10_inet="10.10.1.2/24"
eth1_vlan_ids="20 34 38 60 160 240 432"
eth1_vlan_60_inet="10.60.8.2/24"
eth3_vlan_ids=50
eth3_vlan_50_inet="10.50.0.1/24"
echo="echo"
for if in $vlan_ifs ; do
$echo ip link set up $if
eval vlan_ids="\$${if}_vlan_ids"
for id in $vlan_ids; do
$echo ip link add link $if name ${if}.${id} type vlan id ${id}
$echo brctl addbr vlan${id}
$echo brctl addif vlan${id} ${if}.${id}
$echo ip link set up ${if}.${id}
eval inet="\$${if}_vlan_${id}_inet"
if ! [ -z "$inet" ] ; then
$echo ip -4 addr add "$inet" dev ${if}.${id}.
fi
done
done
$echo ip route add default via $defaultrouter
$echo truncate -s 0 /etc/resolv.conf
for ns in $nameservers ; do
if ! [ -z "$echo" ] ; then
echo echo nameserver $ns '>>' /etc/resolv.conf
else
echo nameserver $ns >> /etc/resolv.conf
fi
done
|