3 source /etc/default/snf-network
7 NETWORKS="$(ls $SHAREDDIR/networks/)"
11 INTERFACES=$SHAREDDIR/interfaces/$HOSTNAME
13 ifup -i $INTERFACES -a
15 for NETWORK in $NETWORKS; do
17 NETFILE=$SHAREDDIR/networks/$NETWORK
18 NODEMAPFILE=$SHAREDDIR/mappings/$NETWORK-$HOSTNAME
19 NODEINFRAFILE=$SHAREDDIR/infra/$HOSTNAME
20 CLUSTERINFRAFILE=$SHAREDDIR/infra/cluster
22 RT_TABLES=/etc/iproute2/rt_tables
25 source $CLUSTERINFRAFILE
28 if [ "$MODE" == "routed" ]; then
31 if [ "$TYPE" == "public" ]; then
32 ARP_IP=$(ipcalc $SUBNET | grep HostMax | awk '{print $2}')
36 echo 1 > "/proc/sys/net/ipv4/conf/$VLAN/proxy_arp"
38 ID=$(wc -l < $RT_TABLES)
39 echo $((ID+1)) $TABLE >> $RT_TABLES
41 ip rule add iif $VLAN table $TABLE
43 ip route add $SUBNET dev $VLAN table main
45 ip route add $SUBNET dev $VLAN table $TABLE
46 ip route add default via $GATEWAY dev $VLAN table $TABLE
48 echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
50 arptables -A OUTPUT -o $VLAN --opcode request -j mangle --mangle-ip-s $ARP_IP
56 if [ "$MODE" == "bridged" ]; then
58 if [ ! -z "$GATEWAY" -a $ENABLE_MASQ ]; then
59 if [ "$TYPE" == "private" ]; then
60 if [ "$HOSTNAME" == "$ROUTER" ]; then
61 NETMASK=$(ipcalc $SUBNET | grep Netmask | awk '{print $4}')
62 ip addr add $GATEWAY/$NETMASK dev $BRIDGE
63 iptables -t nat -A POSTROUTING -s $SUBNET \! -d 192.168.0.0/16 -j MASQUERADE