Módulo iptables mport não encontrado

Módulo iptables mport não encontrado

Estou substituindo um roteador/firewall sem fio rodando o Tomato por um servidor Debian, e fiquei animado por ter encontrado a configuração do iptables do tomate para que eu pudesseimporte-o diretamente para o novo servidor(minha pergunta antes disso). O arquivo de configuração iptables (na parte inferior) do Tomato falha iptables-restoreno Debian:

# iptables-restore < iptables.eth0-eth1
iptables-restore v1.4.14: Couldn't load match `mport':No such file or directory

Error occurred at line: 7
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

Existe uma maneira de importar para iptables "modernos"?
Ou você poderia me ajudar a traduzir mportpara multiport?

Pesquisar no Google iptables mportfoi muito difícil, mas acabei descobrindoalguém reclamando que o mport sumiue umtutorial multiportacom referência passageira à extensão mport, o que me levou a bisbilhotar os sistemas de arquivos das duas caixas em busca de módulos e também a tentar todas as ferramentas de "firewall" que o Debian possui, desejando que uma delas viesse magicamente com o mport. Admito que fiquei bastante estragado com a interface de usuário do Tomato - todos os pacotes Debian que experimentei desde então me deixaram cada vez mais confuso (gui ou cli). Se eu conseguisse fazer com que o servidor roteasse tudo brevemente, acho que masonpoderia funcionar. Não admira que todo mundo odeie o iptables.

Passei mais tempo tentando descobrir os erros do que deveria. Se eu tivesse passado tanto tempo tentando entender iptables, provavelmente poderia ter traduzido as mportregras para multiport. Além disso, pensei em postar no SuperUser, no entanto, as poucas perguntas marcadas com iptables não estavam no mesmo nível das que estou lendo aqui no ServerFault.


Procurando módulos:
Eu entrei no roteador sem fio com tomatofirmware, encontrei o módulo libipt_mport.soem /usr/lib/iptables. Mas no /lib/modules/2.4.20/kernel/net/ipv4/netfilterdiretório não existe libipt_mport.so, apenas ipt_multiport.o.

Na caixa Debian (nova instalação do wheezy), usei updatedbe locatepara pesquisar MASQ(pelo objeto MASQUERADE) e descobri que o diretório
/lib/modules/3.2.0-4-amd64/kernel/net/ipv4/netfiltertem uma boa variedade de arquivos iptable_*e nf_nat_* ko. A pesquisa também encontrou libxt_multiport.soem /lib/xtables, mas não há referência a módulos de objeto para mport.

Além disso, há algum outro problema abaixo? Vejo o material da camada 7 e tenho a sensação de que isso causará mais complicações a seguir.


Arquivo de configuração do Tomato:
Notas:
» 99.1.81.209 é o ip WAN
» 10.0.0.2 é o ip para este firewall Debian
» 10.0.0.20 é um servidor
» interface pública do tomate vlan0alterada para eth0
» interface interna do tomate br0alterada para eth1
» portas 5060:5090 são para VoIP (provavelmente não não precisa de toda essa gama?)

*mangle
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:QOSO - [0:0]
-A QOSO -j CONNMARK --restore-mark --mask 0xff
-A QOSO -m connmark ! --mark 0/0xff00 -j RETURN
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x0-0x7ffff -j CONNMARK --set-return 0x2/0xFF
-A QOSO -p tcp -m mport --dports 80,443   -m bcount --range 0x80000 -j CONNMARK --set-return 0x4/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x0-0x7ff -j CONNMARK --set-return 0x1/0xFF
-A QOSO -p udp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 53   -m bcount --range 0x800 -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p tcp --dport 1024:65535   -j CONNMARK --set-return 0x5/0xFF
-A QOSO -p udp -m mport --ports 5060:5090  -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j CONNMARK --set-return 0x101/0xFF
-I QOSO -j BCOUNT
-A QOSO -j CONNMARK --set-return 0x4
-A FORWARD -o eth0 -j QOSO
-A OUTPUT -o eth0 -j QOSO
COMMIT
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -i eth0 -d 10.0.0.2/255.255.255.0 -j DROP
-A PREROUTING -p icmp -d 99.1.81.209 -j DNAT --to-destination 10.0.0.2
-A PREROUTING  -p tcp -m tcp -d 99.1.81.209 --dport 22 -j DNAT --to-destination 10.0.0.2:22
-A PREROUTING -p tcp  -d 99.1.81.209 --dport 10022 -j DNAT --to-destination 10.0.0.20:22
-A POSTROUTING -p tcp --dport 22 -s 10.0.0.2/255.255.255.0 -d 10.0.0.20 -j SNAT --to-source 99.1.81.209
:upnp - [0:0]
-A PREROUTING -d 99.1.81.209 -j upnp
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -d 99.1.81.209 -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-N shlimit
-A shlimit -m recent --set --name shlimit
-A shlimit -m recent --update --hitcount 3 --seconds 60 --name shlimit -j DROP
-A INPUT -p tcp --dport 22 -m state --state NEW -j shlimit
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp  -m tcp -d 10.0.0.2 --dport 22 -j ACCEPT
:FORWARD DROP [0:0]
-A FORWARD -i eth1 -o eth1 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1461: -j TCPMSS --set-mss 1460
:L7in - [0:0]
-A FORWARD -i eth0 -j L7in
-A L7in -m layer7 --l7dir /etc/l7-protocols --l7proto sip -j RETURN
:wanin - [0:0]
:wanout - [0:0]
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -j wanin
-A FORWARD -o eth0 -j wanout
-A FORWARD -i eth1 -j ACCEPT
:upnp - [0:0]
-A FORWARD -i eth0 -j upnp
-A wanin  -p tcp -m tcp -d 10.0.0.20 --dport 22 -j ACCEPT
COMMIT

Responder1

AFAIK, os parâmetros do multiportmódulo são idênticos aos parâmetros do mportmódulo que você mostrou.

Experimente uma simples pesquisa e substituição:

s/-m mport/-m multiport/g

PS: Certamente nãotodosodeia iptables; Eu pessoalmenteAMORiptables ;-)

informação relacionada