root / snf-network-configure-interfaces @ 6e257ba8
History | View | Annotate | Download (1.8 kB)
1 | 7d163a24 | Dimitris Aragiorgis | #!/bin/bash |
---|---|---|---|
2 | 7d163a24 | Dimitris Aragiorgis | |
3 | d2b16e51 | Dimitris Aragiorgis | DEFAULT=/etc/default/snf-network |
4 | d2b16e51 | Dimitris Aragiorgis | |
5 | d2b16e51 | Dimitris Aragiorgis | source $DEFAULT |
6 | d2b16e51 | Dimitris Aragiorgis | source $CONF |
7 | d2b16e51 | Dimitris Aragiorgis | source $INFRA |
8 | 7d163a24 | Dimitris Aragiorgis | |
9 | 7d163a24 | Dimitris Aragiorgis | HOSTNAME=$(hostname) |
10 | 7d163a24 | Dimitris Aragiorgis | |
11 | 7d163a24 | Dimitris Aragiorgis | |
12 | 7d163a24 | Dimitris Aragiorgis | INTERFACES=$SHAREDDIR/interfaces/$HOSTNAME |
13 | d2b16e51 | Dimitris Aragiorgis | HOSTINFRA=$SHAREDDIR/infra/$HOSTNAME |
14 | 6e257ba8 | Dimitris Aragiorgis | CLUSTERINFRA=$SHAREDDIR/infra/cluster |
15 | 7d163a24 | Dimitris Aragiorgis | |
16 | d2b16e51 | Dimitris Aragiorgis | if [ -e "$HOSTINFRA" ]; then |
17 | d2b16e51 | Dimitris Aragiorgis | source $HOSTINFRA |
18 | 7d163a24 | Dimitris Aragiorgis | fi |
19 | 7d163a24 | Dimitris Aragiorgis | |
20 | 6e257ba8 | Dimitris Aragiorgis | source $CLUSTERINFRA |
21 | 6e257ba8 | Dimitris Aragiorgis | |
22 | 6e257ba8 | Dimitris Aragiorgis | if [ -n "$PUBLIC_BRIDGE" -a -e /proc/sys/net/ipv4/conf/$PUBLIC_BRIDGE ]; then |
23 | 6e257ba8 | Dimitris Aragiorgis | echo Interfaces already exist! Please check: |
24 | 6e257ba8 | Dimitris Aragiorgis | echo $PUBLIC_BRIDGE for bridging TAPs with public IPs |
25 | 6e257ba8 | Dimitris Aragiorgis | exit 1 |
26 | 6e257ba8 | Dimitris Aragiorgis | elif [ -n "$PUBLIC_VLAN" -a -e /proc/sys/net/ipv4/conf/$PUBLIC_VLAN -o \ |
27 | 6e257ba8 | Dimitris Aragiorgis | -n "$PRIVATE_BRIDGE" -a -e /proc/sys/net/ipv4/conf/$PRIVATE_BRIDGE -o \ |
28 | 6e257ba8 | Dimitris Aragiorgis | -n "$PRIVATE_VLAN" -a -e /proc/sys/net/ipv4/conf/$PRIVATE_VLAN ]; then |
29 | 7d163a24 | Dimitris Aragiorgis | echo Interfaces already exist! Please check: |
30 | 7d163a24 | Dimitris Aragiorgis | echo $PUBLIC_BRIDGE for bridging TAPs with public IPs |
31 | 7d163a24 | Dimitris Aragiorgis | echo $PUBLIC_VLAN for routing TAPs with public IPs |
32 | 7d163a24 | Dimitris Aragiorgis | echo $PRIVATE_VLAN bridged on $PRIVATE_BRIDGE for private LANs |
33 | 7d163a24 | Dimitris Aragiorgis | exit 1 |
34 | 7d163a24 | Dimitris Aragiorgis | fi |
35 | 7d163a24 | Dimitris Aragiorgis | |
36 | d2b16e51 | Dimitris Aragiorgis | |
37 | 7d163a24 | Dimitris Aragiorgis | |
38 | 6e257ba8 | Dimitris Aragiorgis | if [ -n "$PUBLIC_BRIDGE" -a -n "$PUBLIC_IFACE" ]; then |
39 | 41f74498 | Dimitris Aragiorgis | cat > $INTERFACES<<EOF |
40 | 41f74498 | Dimitris Aragiorgis | auto $PUBLIC_BRIDGE |
41 | 41f74498 | Dimitris Aragiorgis | iface $PUBLIC_BRIDGE inet manual |
42 | 6e257ba8 | Dimitris Aragiorgis | bridge_ports $PUBLIC_IFACE |
43 | 41f74498 | Dimitris Aragiorgis | bridge_stp off |
44 | 41f74498 | Dimitris Aragiorgis | bridge_fd 2 |
45 | 41f74498 | Dimitris Aragiorgis | post-up ip link set $PUBLIC_BRIDGE address $PUBLIC_MAC |
46 | 7d163a24 | Dimitris Aragiorgis | |
47 | 41f74498 | Dimitris Aragiorgis | EOF |
48 | 41f74498 | Dimitris Aragiorgis | |
49 | 41f74498 | Dimitris Aragiorgis | else |
50 | 41f74498 | Dimitris Aragiorgis | if [ -n "$PUBLIC_VLAN" ]; then |
51 | 6e257ba8 | Dimitris Aragiorgis | echo PUBLIC_VLAN=$PUBLIC_VLAN >> $HOSTINFRA |
52 | 41f74498 | Dimitris Aragiorgis | cat >> $INTERFACES<<EOF |
53 | 7d163a24 | Dimitris Aragiorgis | auto $PUBLIC_VLAN |
54 | 7d163a24 | Dimitris Aragiorgis | iface $PUBLIC_VLAN inet manual |
55 | 7d163a24 | Dimitris Aragiorgis | |
56 | 41f74498 | Dimitris Aragiorgis | EOF |
57 | 6e257ba8 | Dimitris Aragiorgis | fi |
58 | 41f74498 | Dimitris Aragiorgis | |
59 | bec8e3f1 | Dimitris Aragiorgis | if [ -n "$PRIVATE_VLAN" -a -n "$PRIVATE_BRIDGE" ]; then |
60 | 6e257ba8 | Dimitris Aragiorgis | echo PRIVATE_VLAN=$PRIVATE_VLAN >> $HOSTINFRA |
61 | 41f74498 | Dimitris Aragiorgis | cat >> $INTERFACES<<EOF |
62 | 7d163a24 | Dimitris Aragiorgis | auto $PRIVATE_VLAN |
63 | 7d163a24 | Dimitris Aragiorgis | iface $PRIVATE_VLAN inet manual |
64 | 7d163a24 | Dimitris Aragiorgis | |
65 | 7d163a24 | Dimitris Aragiorgis | auto $PRIVATE_BRIDGE |
66 | 7d163a24 | Dimitris Aragiorgis | iface $PRIVATE_BRIDGE inet manual |
67 | 7d163a24 | Dimitris Aragiorgis | bridge_ports $PRIVATE_VLAN |
68 | 7d163a24 | Dimitris Aragiorgis | bridge_stp off |
69 | 7d163a24 | Dimitris Aragiorgis | bridge_fd 2 |
70 | d2b16e51 | Dimitris Aragiorgis | post-up ip link set $PRIVATE_BRIDGE address $PUBLIC_MAC |
71 | 7d163a24 | Dimitris Aragiorgis | |
72 | 41f74498 | Dimitris Aragiorgis | EOF |
73 | 41f74498 | Dimitris Aragiorgis | |
74 | 41f74498 | Dimitris Aragiorgis | fi |
75 | 41f74498 | Dimitris Aragiorgis | fi |
76 | 7d163a24 | Dimitris Aragiorgis | |
77 | 7d163a24 | Dimitris Aragiorgis | ifup -i $INTERFACES -a |
78 | 7d163a24 | Dimitris Aragiorgis | |
79 | 7d163a24 | Dimitris Aragiorgis | |
80 | 7d163a24 | Dimitris Aragiorgis | echo 1 > /proc/sys/net/ipv4/conf/all/forwarding |
81 | 7d163a24 | Dimitris Aragiorgis | echo 1 > /proc/sys/net/ipv4/ip_forward |