Buckminster
(usa Debian)
Enviado em 06/12/2013 - 12:31h
Teste as regras abaixo:
#!/bin/sh
# Aqui no início não esqueça de definir as políticas padrões do Iptables. carregar os módulos, limpar as chains, etc.
# Depois coloque as regras abaixo e teste.
# Coloquei a rota default na eth1 e o IP 189.100.0.100/24 saindo pela eth2.
# Caso não funcionar a contento, faça as modificações necessárias.
# Qualquer dúvida, posta de novo.
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j LOG --log-prefix "iptables : "
iptables -A OUTPUT -j LOG --log-prefix "iptables : "
iptables -A FORWARD -j LOG --log-prefix "iptables : "
iptables -t mangle -A PREROUTING -s 189.100.0.100/24 -j MARK --set-mark 2
# GVT
ip route add 192.168.0.0/24 dev eth1 src 192.168.0.30 table gvt
ip route add default via 192.168.0.200 table gvt
# TPA
ip route add 10.0.0.0/24 dev eth2 src 10.0.0.100 table tpa
ip route add default via 10.0.0.1
# Setando links para a tabela principal
ip route add 192.168.0.0/24 dev eth1 src 192.168.0.30
ip route add 10.0.0.0/24 dev eth2 src 10.0.0.100
# Rota principal
ip route add default via 192.168.0.200
# Regras das tabelas
ip route add from 192.168.0.30 table gvt
ip route add from 10.0.0.100 table tpa
# Balanceamento
# ip rule add fwmark 1 table gvt prio 3
ip rule add fwmark 2 table tpa prio 3
ip route add default scope global nexthop via 192.168.0.200 dev eth1 weight 1 nexthop via 10.0.0.1 dev eth2 weight 1
# Flush no cache
ip route flush cache
Outra coisa, caso der problema de lentidão, aconselho daí a você criar uma tabela nova, chama de 'interna' ou o nome que você quiser e colocar assim:
ip route add default table interna nexthop via 192.168.0.200 dev eth1 weight 1 nexthop via 10.0.0.1 dev eth2 weight 1
Caso você não queira balanceamento pode comentar a linha acima nas regras.
A regra esta com peso 1 (weight 1) para os dois, isso está certo pois os dois links tem a mesma banda.
Porém, na prática isso significa uma conexão para gvt, uma conexão para tpa, uma conexão para gvt, uma conexão para tpa... e assim por diante.
Acredito que não seja isso que você quer.
E comente ou apague as linhas dns-nameservers do arquivo interfaces.
E não esqueça que no DHCP desse servidor (provavelmente você tem um nele) os IPs da tua subnet devem estar na mesma faixa de IPs da placa eth0.
E te aconselho a acrescentar depois de netmask a linha gateway na eth1 e eth2.
eth1
gateway 192.168.0.200 << esse tem que ser o IP do gateway da gvt.
eth2
gateway 10.0.0.1 << esse tem que ser o IP do gateway da tpa.