간단히 말해서, 라우터를 통해 내 컴퓨터에서 모뎀으로 원격으로 로그인할 수 있기를 원합니다.
에 간단한 홈 라우터가 있습니다 192.168.33.1
. OpenWrt를 실행 중입니다. 이는 다음 인터페이스를 정의합니다.
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
나는 여기에 관련된 것이 한두 가지 밖에 없다고 생각합니다.
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
할당된 IP 주소가 없습니다. 하지만 pppoe-wan
그것은. 이것이 PPPoE를 통해 이 상자에서 인터넷 액세스가 작동하는 방식입니다.
DSL 모뎀은 라우터의 WAN 포트에 연결됩니다. 케이스에 이런 라벨이 붙어있습니다. (왜 eth0
와 가 둘 다 있는지 모르겠습니다 wan
.) IP 주소가 내장되어 있습니다 192.168.1.1
. 감사는 Telnet을 통해 수행할 수 있습니다.
이를 수행하는 첫 번째 단계는 모뎀에 연결하기 위해 라우터 상자에 인터페이스를 설정하는 것입니다.
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
이렇게 하면 경로가 추가되지만 작동하지 않으며 스위치도 추가하지 않습니다 -I
. 인터페이스 오류여야 합니다. ( eth0
상자에 있는 내용이 무엇인지 모르겠습니다 . WAN 부분이 아니라 LAN 부분일까요?) 어쨌든 네트워크 설정( /etc/init.d/network restart
)을 재설정하고 프로세스를 반복했는데 wan
이것이 작동했습니다.
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
감사를 통과한 경우 에도 유효합니다 telnet
.
이제 LAN에 있는 PC에서도 작업하고 싶습니다. 내 컴퓨터가 켜져 있습니다 192.168.33.152
. telnet
PC에서 모뎀에 연결을 시도하면 "연결이 거부되었습니다"라는 메시지가 나타납니다. 또한 모뎀에 ping을 보낼 수 없습니다("Antwort von 192.168.33.1: Zielport nicht erreichbar." = "대상 포트에 액세스할 수 없습니다").
네트워크의 다양한 문서 및 그래픽 패턴에 대해 내가 이해한 바에 따르면 iptables
LAN에서 모뎀으로의 패킷은 라우터의 체인으로 이동한 다음 (대상 NAT는 필요하지 않음) 체인 PREROUTING
이후에 경로가 (희망적으로) FORWARDING
뒤에는 체인이 옵니다 POSTROUTING
(소스 NAT 필요).
그러나 OpenWrt에서 미리 정의한 다양한 체인에 이것을 어떻게 적용해야 할지 모르겠습니다. 그 중 몇 가지가 있습니다 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
그리고 더 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
내 규칙을 이 체인 세트에 어떻게 보관합니까?
(여기서 이런 질문을 하게 되어 기쁘네요.다른 사용자도 OpenWrt에 설정된 기본 체인에 대해 비슷하게 혼란스러워했습니다..)
답변1
일반적으로 VLAN이 있을 것으로 예상합니다. 이는 일반적으로 eth0.0 및 eth0.1과 같은 이름으로 eth0에 할당됩니다. 거기에서 시작하는 것이 좋은 시작이 될 것입니다.
모든 LAN 액세스는 아마도 br_lan(아마도 eth0.0)에 있을 것입니다. 사용하지 않으면 pppoe
WAN은 다른 VLAN(아마도 eth0.1)을 통해 액세스됩니다. VLAN 할당은 하드웨어에 따라 다를 수 있습니다.
내가 사용한 시스템에서는 pppoe
라우터에 직접 액세스할 수 없습니다. 내가 사용할 수 있는 IP 주소가 있다고 생각하지 않습니다. PC가 모뎀에 직접 연결되어 있는 경우 원격으로 모뎀에 로그인할 수 있나요?