leonardonhesi
(usa Debian)
Enviado em 06/10/2011 - 13:20h
Bom seguinte
Preciso que um determinado endereço interno 192.168.1.207 utilize somente uma tabela do iproute2 e não a tabela main.
#Marquei o pacote com o iptables
iptables -t mangle -A PREROUTING -p tcp -s 192.168.1.207 -j MARK --set-mark 6
#Criei a tabela no rt_tables
root@fw:~# cat /etc/iproute2/rt_tables
255 local
254 main
253 default
0 unspec
100 EMBRATEL
200 TELEFONICA
#Adicionei as rotas na tabela TELEFONICA
root@fw:~# ip route list table TELEFONICA
192.168.1.0/24 dev eth2 proto kernel scope link src 192.168.1.1
189.xxx.xxx.0/24 dev eth0 proto kernel scope link src 189.xxx.xxx.xxx
default via 189.xxx.xxx.xxx dev eth0
#Coloquei a regra para utilizar a TABELA
root@fw-cobrecom:~# ip rule list
0: from all lookup local
32760: from 192.168.1.12 lookup EMBRATEL
32761: from all fwmark 0x8 lookup EMBRATEL
32762: from all fwmark 0x6 lookup TELEFONICA
32763: from all fwmark 0x4 lookup EMBRATEL
32764: from all fwmark 0x2 lookup EMBRATEL
32765: from 192.168.1.210 lookup EMBRATEL
32766: from all lookup main
32767: from all lookup default
E mesmo assim a maquina 192.168.1.207 utiliza a rota da tabela main e todas as regras descritas acima "ip rule list" não funcionam.
O QUE MAIS PRECISO FAZER????????/
07/10/2011##############################
Testei colocar a regra (ip rule from all table TELEFONICA), direcionando todas as conexões para esta tabela de rotas, funcionou (AQUI ELIMINO O ERRO NA TABELA DE ROTAS)
Testei com o comando (watch -d -n1 "iptables -t mangle -L PREROUTING -vn") para ver se o iptables estava marcando os pacotes pelo menos no PREROUTING estava marcando ok os pacotes (AQUI ELIMINO MARCAÇÂO DO FIREWALL)
Será que o pacote perde a marcação depois do PREROUTING?
ou
Será que o ip rule não esta entendo a marcação do IPTABLES?
(Na batalha)