단일 NIC를 통해 다른 서브넷에서 다른 상자로 라우팅

단일 NIC를 통해 다른 서브넷에서 다른 상자로 라우팅

3개의 서브넷이 있는 홈 네트워크가 있습니다. (나는 여기저기 돌아다니는 것을 좋아합니다!)

나는 쉬울 것이라고 생각했던 일에 어려움을 겪었지만, 며칠이 지나도 답에 더 가까워지지 않았습니다. 내 네트워크는 그림과 같습니다이 사진

기본 서브넷은192.168.1.0/24, 에 연결되어 있습니다.192.168.2.0/24이더넷이 탑재된 노트북을 통해(192.168.1.2) 및 무선 네트워크(192.168.2.1) 어댑터.

나는 달리고 있다주인그리고dhcpd2개의 NIC가 있는 노트북(IP 위장) - 그래서 저는 WiFi 핫스팟으로 사용합니다. 설정은 잘 작동합니다(한동안 그랬습니다). 최근에 Wi-Fi 라우터를 추가했는데 다음에 연결되었습니다.192.168.1.0/24WAN 커넥터를 통해 이더넷 링크(192.168.1.10),존재하다192.168.3.0/24서브넷 범위.

기본 서브넷은 Linux 상자(192.168.1.1)는 내부 네트워크의 인터넷 게이트웨이 라우터 역할을 합니다(IP 위장공용 인터넷을 오가는 패킷의 경우).

내가 만약존재하다Linux 상자(라우터)에 ping을 보낼 수 있습니다.192.168.1.2또한192.168.2.2(접근하려면 라우팅 테이블에 항목을 추가하세요.)192.168.2.0/24서브넷):

ip route add 192.168.2.0/24 via 192.168.1.2

내 목표는 휴대폰에 접근하는 것입니다 (192.168.2.2) 노트북에서(192.168.3.2) Wi-Fi 라우터에 무선으로 연결되고, Wi-Fi 라우터는 다시 Wi-Fi 라우터에 연결됩니다.192.168.1.0/24서브넷.

여기서 상황이 잘못됩니다. 패킷의 출처는 다음과 같습니다.192.168.3.2- 목적지는192.168.2.2- 다음으로 전송됩니다.192.168.1.1(무선 라우터의 기본 게이트웨이), 이후192.168.1.1평평할 수 있다192.168.2.2, 나는 이것이 작동할 것이라고 생각했습니다(위에 언급된 라우팅 항목 때문에).

Linux 라우터(192.168.1.1) 노트북에서 WiFi 핫스팟 역할을 합니다. 여기서 내가 하려는 일이 가능한 것입니까, 아니면 몇 가지 기본 개념이 누락된 것입니까?

  • 라우팅 테이블

Routing table for 192.168.1.1:
Destination   Gateway       Genmask     Flags Metric   Ref     Use Iface
0.0.0.0       10.0.0.1     0.0.0.0         UG    10      0        0 eth0
10.0.0.0      0.0.0.0      255.255.255.0   U      0      0        0 eth0
192.168.1.0   0.0.0.0      255.255.255.0   U      0      0        0 eth1
192.168.2.0   192.168.1.25 255.255.255.0   UG     0      0        0 eth1

Routing table for 192.168.1.2:
Destination Gateway       Genmask       Flags Metric Ref  Use Iface
0.0.0.0     192.168.1.1   0.0.0.0       UG     0     0    0   eth0
192.168.1.0     0.0.0.0   255.255.255.0 U      0     0    0   eth0
192.168.2.0     0.0.0.0   255.255.255.0 U      0     0    0   wlan0

다들 감사 해요!

답변1

여기서 나는 매우 맹목적인 실수를 인정하고 내 자신의 질문에 대답해야 합니다(적어도 나를 넘어뜨린 부분은!)

스크립트가 있습니다시작그리고멈추다내 Linux 라우터 설정(방화벽 규칙 설정, IP 전달 및 위장 활성화 등) 및멈추다주문하다. 에 있는 줄 중 하나멈추다부품은 다음과 같습니다.

iptables -P FORWARD DROP

이는 패킷 전달을 효과적으로 종료하도록 FORWARD정책을 설정하므로 DROP이것이 모든 문제의 원인입니다! 결국 추가하는 것만 큼 간단했습니다.

ip route add 192.168.2.0/24 via 192.168.1.2

Linux 라우터의 라우팅 테이블로 라우팅합니다. 다른 서브넷의 패킷이 올바르게 전달됩니다.192.168.1.1, 필요한 경우 다음을 통해 추가로 전달됩니다.192.168.1.25서브넷의 GW192.168.2.0/24

고마워하는우터그리고사용자 2999479누구의 답변으로 인해 내 설정에 대해 더 자세히 알아볼 수 있게 되었습니다. :)

답변2

Gateway Linux 상자에서 했던 것처럼 Wi-Fi 라우터에 라우팅을 추가할 수 있습니까(라우터의 제조사/모델은 무엇입니까?)?

경험을 통해 저는 서로 다른 IP 스택이 DHCP, 가장, 전달과 같은 특정 IP 서비스를 처리하는 방식에 차이가 있음을 발견했습니다. 추가 문제 해결에 도움이 되도록 192.168.1.1 및 192.168.3.2의 운영 체제 및 TCP/IP 버전을 알아두는 것도 좋습니다.

답변3

문제를 일으키는 것은 192.168.1.2의 가장입니다. 핑 패킷은 192.168.2.2에 도착할 수 있지만 반환된 퐁은 가장되므로 192.168.1.1에서 수신되지 않습니다.

어쨌든 192.168.1.2에서는 매스커레이딩(NAT)을 할 필요가 없습니다. 라우팅을 올바르게 설정했다면 192.168.2.0/24 트래픽이 전체 내부 네트워크에 있는 그대로 도달할 수 있어야 합니다. 192.168.2.2가 인터넷에 액세스하려는 경우 192.168.1.1에서 가장 무도회를 수행하는 것으로 충분합니다(올바르게 구성되고 192.168.2.0/24 및 192.168.3.0/24에 대한 경로가 192.168.1.1에서 올바르게 설정된 경우).

또한 Wi-Fi 라우터에 매스커레이딩을 수행하지 않도록 지시하지 않는 한 192.168.3.2에 ping을 보낼 수 없습니다.

관련 정보