root / snf-network-ipless-routing-on @ 2e8a73e0
History | View | Annotate | Download (1 kB)
1 |
#!/bin/bash |
---|---|
2 |
|
3 |
source /etc/default/snf-network |
4 |
|
5 |
source $CONF |
6 |
|
7 |
RT_TABLES=/etc/iproute2/rt_tables |
8 |
|
9 |
TABLE=$LINK |
10 |
VLAN=$PUBLIC_VLAN |
11 |
ARP_IP=$(ipcalc $SUBNET | grep HostMax | awk '{print $2}') |
12 |
|
13 |
ip link set $VLAN up |
14 |
|
15 |
|
16 |
ID=$(wc -l < $RT_TABLES) |
17 |
echo $((ID+1)) $TABLE >> $RT_TABLES |
18 |
|
19 |
if [ -n "$SUBNET" ]; then |
20 |
ip rule add iif $VLAN table $TABLE |
21 |
ip route add $SUBNET dev $VLAN table main |
22 |
ip route add $SUBNET dev $VLAN table $TABLE |
23 |
if [ -n "$GATEWAY" ]; then |
24 |
ip route add default via $GATEWAY dev $VLAN table $TABLE |
25 |
fi |
26 |
arptables -A OUTPUT -o $VLAN --opcode request -j mangle --mangle-ip-s $ARP_IP |
27 |
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding |
28 |
echo 1 > /proc/sys/net/ipv4/conf/$VLAN/proxy_arp |
29 |
fi |
30 |
|
31 |
if [ -n "$SUBNET6" ]; then |
32 |
ip -6 rule add iif $VLAN table $TABLE |
33 |
ip -6 route add $SUBNET6 dev $VLAN table main |
34 |
ip -6 route add $SUBNET6 dev $VLAN table $TABLE |
35 |
if [ -n "$GATEWAY6" ]; then |
36 |
ip -6 route add default via $GATEWAY6 dev $VLAN table $TABLE |
37 |
fi |
38 |
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding |
39 |
echo 1 > /proc/sys/net/ipv6/conf/$VLAN/proxy_ndp |
40 |
fi |