Statistics
| Branch: | Tag: | Revision:

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