Permitir o encaminhamento de pacotes IP da LAN para o modem via roteador

2

Resumindo: gostaria de poder efetuar telnet para o meu modem a partir do meu PC através do meu router.

Há um roteador doméstico simples em 192.168.33.1 . Está executando o OpenWrt. Tem as seguintes interfaces definidas:

br-lan    Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
eth0      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan1      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan2      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan3      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lan4      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
lo        Link encap:Local Loopback
pppoe-wan Link encap:Point-to-Point Protocol
wan       Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0

Acho que apenas um ou dois têm relevância aqui:

root@TIBERIUS: ~ > ifconfig wan
wan       Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2295 errors:0 dropped:1 overruns:0 frame:0
          TX packets:2740 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:270389 (264.0 KiB)  TX bytes:245297 (239.5 KiB)

root@TIBERIUS: ~ > ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:23:CD:20:C3:B0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6252 errors:0 dropped:0 overruns:83 frame:0
          TX packets:4725 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:863045 (842.8 KiB)  TX bytes:667374 (651.7 KiB)
          Interrupt:4

Nenhum tem um endereço IP atribuído a ele. Mas pppoe-wan faz. E é assim que o acesso à Internet funciona nesta caixa, via PPPoE.

O modem DSL está conectado ao roteador na porta WAN. Aquela etiquetada como na caixa. (Eu não entendo porque existem ambos eth0 e wan .) Ele tem um endereço IP interno de 192.168.1.1 . Pode ser auditado via telnet.

O primeiro passo para fazer isso é configurar uma interface na caixa do roteador para acessar o modem.

root@TIBERIUS: ~ > ifconfig eth0 192.168.1.220
root@TIBERIUS: ~ > ping 192.168.1.1 -I eth0
PING 192.168.1.1 (192.168.1.1): 56 data bytes
^C

Isso adiciona uma rota, mas não funciona, nem mesmo adiciona a opção -I . Deve ser a interface errada. (Não sei a que eth0 corresponde nesta caixa. Talvez a parte da LAN, não a parte da WAN?) De qualquer forma, redefino as configurações de rede ( /etc/init.d/network restart ) e repito o procedimento para wan e que funciona:

root@TIBERIUS: ~ > ifconfig wan 192.168.1.222
root@TIBERIUS: ~ > ping 192.168.1.1 -I wan
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=64 time=1.205 ms
64 bytes from 192.168.1.1: seq=1 ttl=64 time=0.496 ms

A auditoria via telnet também funciona.

Agora eu também gostaria de trabalhar no meu PC na LAN. Meu PC está em 192.168.33.152 . Tentando telnet o modem do PC resulta em "conexão recusada". E eu não consigo pingar o modem ("Antwort von 192.168.33.1: Zielport nicht erreichbar."="Porto de destino não alcançável").

Pelo que entendi sobre iptables de vários documentos e esquemas gráficos flutuando na rede, os pacotes da LAN para o modem digitarão PREROUTING chain no roteador (não é necessário NAT de destino), depois do roteamento (esperamos que ) a corrente FORWARDING e, em seguida, (esperamos) a cadeia POSTROUTING (a fonte NAT é necessária).

No entanto, eu não tenho idéia de como encaixar isso nas várias cadeias predefinidas pelo OpenWrt. Há alguns deles em nat :

root@TIBERIUS: ~ > iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N nat_reflection_in
-N nat_reflection_out
-N postrouting_rule
-N prerouting_lan
-N prerouting_rule
-N prerouting_wan
-N zone_lan_nat
-N zone_lan_prerouting
-N zone_wan_nat
-N zone_wan_prerouting
-A PREROUTING -j prerouting_rule
-A PREROUTING -i br-lan -j zone_lan_prerouting
-A PREROUTING -i pppoe-wan -j zone_wan_prerouting
-A POSTROUTING -j postrouting_rule
-A POSTROUTING -o br-lan -j zone_lan_nat
-A POSTROUTING -o pppoe-wan -j zone_wan_nat
-A postrouting_rule -j nat_reflection_out
-A prerouting_rule -j nat_reflection_in
-A zone_lan_prerouting -j prerouting_lan
-A zone_wan_nat ! -d 192.168.1.0/24 -j MASQUERADE
-A zone_wan_prerouting -j prerouting_wan

E muito mais em filter :

root@TIBERIUS: ~ > iptables -S -t filter
-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-N forward
-N forwarding_lan
-N forwarding_rule
-N forwarding_wan
-N input
-N input_lan
-N input_rule
-N input_wan
-N nat_reflection_fwd
-N output
-N output_rule
-N reject
-N syn_flood
-N zone_lan
-N zone_lan_ACCEPT
-N zone_lan_DROP
-N zone_lan_REJECT
-N zone_lan_forward
-N zone_wan
-N zone_wan_ACCEPT
-N zone_wan_DROP
-N zone_wan_REJECT
-N zone_wan_forward
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood
-A INPUT -j input_rule
-A INPUT -j input
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j forwarding_rule
-A FORWARD -j forward
-A FORWARD -j reject
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j output_rule
-A OUTPUT -j output
-A forward -i br-lan -j zone_lan_forward
-A forward -i pppoe-wan -j zone_wan_forward
-A forwarding_rule -j nat_reflection_fwd
-A input -i br-lan -j zone_lan
-A input -i pppoe-wan -j zone_wan
-A output -j zone_wan_ACCEPT
-A output -j zone_lan_ACCEPT
-A reject -p tcp -j REJECT --reject-with tcp-reset
-A reject -j REJECT --reject-with icmp-port-unreachable
-A syn_flood -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 25/sec --limit-burst 50 -j RETURN
-A syn_flood -j DROP
-A zone_lan -j input_lan
-A zone_lan -j zone_lan_ACCEPT
-A zone_lan_ACCEPT -o br-lan -j ACCEPT
-A zone_lan_ACCEPT -i br-lan -j ACCEPT
-A zone_lan_DROP -o br-lan -j DROP
-A zone_lan_DROP -i br-lan -j DROP
-A zone_lan_REJECT -o br-lan -j reject
-A zone_lan_REJECT -i br-lan -j reject
-A zone_lan_forward -j zone_wan_ACCEPT
-A zone_lan_forward -j forwarding_lan
-A zone_lan_forward -j zone_lan_REJECT
-A zone_wan -p udp -m udp --dport 68 -j ACCEPT
-A zone_wan -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A zone_wan -j input_wan
-A zone_wan -j zone_wan_REJECT
-A zone_wan_ACCEPT -o pppoe-wan -j ACCEPT
-A zone_wan_ACCEPT -i pppoe-wan -j ACCEPT
-A zone_wan_DROP -o pppoe-wan -j DROP
-A zone_wan_DROP -i pppoe-wan -j DROP
-A zone_wan_REJECT -o pppoe-wan -j reject
-A zone_wan_REJECT -i pppoe-wan -j reject
-A zone_wan_forward -j forwarding_wan
-A zone_wan_forward -j zone_wan_REJECT

Como posso arquivar minhas regras nesse conjunto de cadeias?

(Sentindo-se encorajado a perguntar isso aqui porque outro usuário estava igualmente confuso com o conjunto de cadeias padrão em OpenWrt .)

    
por Lumi 29.11.2012 / 03:18

1 resposta

1

Normalmente, eu esperaria que você tivesse VLANs. Estes são comumente todos alocados para a eth0 com nomes como eth0.0 e eth0.1. A partir daí seria um bom começo.

Todo o seu acesso à LAN provavelmente está no br_lan (que pode ser eth0.0). Se não estivessem usando pppoe , a WAN seria acessada pela outra VLAN (provavelmente eth0.1). As atribuições de VLAN podem ser diferentes em hardware diferente.

Nos sistemas em que usei pppoe , o roteador não pode ser acessado diretamente. Eu não acredito que tenha um endereço IP que eu possa usar. Você pode fazer telnet para o modem se conectar seu PC diretamente a ele?

    
por 30.11.2012 / 03:23