root / snf-network-unconfigure @ 6e257ba8
History | View | Annotate | Download (1.4 kB)
1 |
#!/bin/bash |
---|---|
2 |
|
3 |
source /etc/default/snf-network |
4 |
|
5 |
source $CONF |
6 |
|
7 |
NETWORKS="$(ls $SHAREDDIR/networks/)" |
8 |
|
9 |
HOSTNAME=$(hostname) |
10 |
|
11 |
for NETWORK in $NETWORKS; do |
12 |
|
13 |
NETFILE=$SHAREDDIR/networks/$NETWORK |
14 |
NODEMAPFILE=$SHAREDDIR/mappings/$NETWORK-$HOSTNAME |
15 |
NODEINFRAFILE=$SHAREDDIR/infra/$HOSTNAME |
16 |
|
17 |
RT_TABLES=/etc/iproute2/rt_tables |
18 |
|
19 |
source $NODEINFRAFILE |
20 |
source $NETFILE |
21 |
source $NODEMAPFILE |
22 |
|
23 |
|
24 |
if [ "$MODE" == "routed" ]; then |
25 |
VLAN=$LINK |
26 |
TABLE=rt_$NETWORK |
27 |
if [ "$TYPE" == "public" ]; then |
28 |
ARP_IP=$(ipcalc $SUBNET | grep HostMax | awk '{print $2}') |
29 |
|
30 |
arptables -D OUTPUT -o $VLAN --opcode request -j mangle --mangle-ip-s $ARP_IP |
31 |
|
32 |
ip route del default via $GATEWAY dev $VLAN table $TABLE |
33 |
ip route del $SUBNET dev $VLAN table $TABLE |
34 |
|
35 |
ip route del $SUBNET dev $VLAN table main |
36 |
|
37 |
ip rule del iif $VLAN table $TABLE |
38 |
|
39 |
sed -i 's/.*'"$TABLE"'$//' $RT_TABLES |
40 |
fi |
41 |
fi |
42 |
|
43 |
|
44 |
|
45 |
if [ "$MODE" == "bridged" ]; then |
46 |
BRIDGE=$LINK |
47 |
if [ ! -z "$GATEWAY" -a $ENABLE_MASQ ]; then |
48 |
if [ "$TYPE" == "private" ]; then |
49 |
if [ "$HOSTNAME" == "$ROUTER" ]; then |
50 |
NETMASK=$(ipcalc $SUBNET | grep Netmask | awk '{print $4}') |
51 |
ip addr del $GATEWAY/$NETMASK dev $BRIDGE |
52 |
iptables -t nat -D POSTROUTING -s $SUBNET \! -d 192.168.0.0/16 -j MASQUERADE |
53 |
fi |
54 |
fi |
55 |
fi |
56 |
fi |
57 |
|
58 |
done |
59 |
|
60 |
INTERFACES=$SHAREDDIR/interfaces/$HOSTNAME |
61 |
|
62 |
ifdown -i $INTERFACES -a --force |
63 |
|