Statistics
| Branch: | Tag: | Revision:

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