#Definir Variaveis
IF1="eth1"
IF2="eth2"
IF0="eth0"
IP1="192.168.100.1"
IP2="192.168.200.1"
IP3="192.168.1.254"
P1="192.168.100.254"
P2="192.168.200.254"
P1_NET="192.168.100.0/24"
P2_NET="192.168.200.0/24"
P0_NET="192.168.1.0/24"
SERVER="192.168.1.101"
#-------------------------------------------------------------------------------------------------------
#Abilitar o Forwarding.
echo "1" > /proc/sys/net/ipv4/ip_forward
#-------------------------------------------------------------------------------------------------------
#Regras de roteamento.
ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
#ip route add default via $P1
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip route add $P0_NET dev $IF0 table T1
ip route add $P2_NET dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo table T1
ip route add $P0_NET dev $IF0 table T2
ip route add $P1_NET dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo table T2
ip route add 192.168.1.101 dev eth0 table T1
#Definicao de balanceamento de carga.
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1
#---------------------------------------------------------------------------------------------------------
#Regras de iptable
#Habilitar para os micros navegarem na internet
iptables -t nat -A POSTROUTING -o $F1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $F2 -j MASQUERADE
iptables -A FORWARD -s $P0_NET -j ACCEPT
iptables -A FORWARD -d $P0_NET -m state --state ESTABLISHED,RELATED -j ACCEPT
#Habilitar o servidor de CS
iptables -A FORWARD -d $SERVER -p tcp --dport 27015 -j ACCEPT
iptables -A FORWARD -d $SERVER -p udp --dport 27015 -j ACCEPT
iptables -A FORWARD -s $SERVER -p tcp --sport 27015 -j ACCEPT
iptables -A FORWARD -s $SERVER -p udp --sport 27015 -j ACCEPT
iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27015 -j DNAT --to 192.168.1.101:27015
iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27015 -j DNAT --to 192.168.1.101:27015
iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27015 -j DNAT --to 192.168.1.101:27015
iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27015 -j DNAT --to 192.168.1.101:27015
iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27015 -j MASQUERADE
iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27015 -j MASQUERADE
iptables -A FORWARD -d $SERVER -p tcp --dport 27016 -j ACCEPT
iptables -A FORWARD -d $SERVER -p udp --dport 27016 -j ACCEPT
iptables -A FORWARD -s $SERVER -p tcp --sport 27016 -j ACCEPT
iptables -A FORWARD -s $SERVER -p udp --sport 27016 -j ACCEPT
iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27016 -j DNAT --to 192.168.1.101:27016
iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27016 -j DNAT --to 192.168.1.101:27016
iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27016 -j DNAT --to 192.168.1.101:27016
iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27016 -j DNAT --to 192.168.1.101:27016
iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27016 -j MASQUERADE
iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27016 -j MASQUERADE
iptables -A FORWARD -d $SERVER -p tcp --dport 27017 -j ACCEPT
iptables -A FORWARD -d $SERVER -p udp --dport 27017 -j ACCEPT
iptables -A FORWARD -s $SERVER -p tcp --sport 27017 -j ACCEPT
iptables -A FORWARD -s $SERVER -p udp --sport 27017 -j ACCEPT
iptables -t nat -A PREROUTING -d $IP1 -p tcp --dport 27017 -j DNAT --to 192.168.1.101:27017
iptables -t nat -A PREROUTING -d $IP1 -p udp --dport 27017 -j DNAT --to 192.168.1.101:27017
iptables -t nat -A PREROUTING -d $IP2 -p tcp --dport 27017 -j DNAT --to 192.168.1.101:27017
iptables -t nat -A PREROUTING -d $IP2 -p udp --dport 27017 -j DNAT --to 192.168.1.101:27017
iptables -t nat -A POSTROUTING -d $SERVER -p tcp --dport 27017 -j MASQUERADE
iptables -t nat -A POSTROUTING -d $SERVER -p udp --dport 27017 -j MASQUERADE
#----------------------------------------------------------------------------------------------------