Linux는 인터페이스 간 패킷을 전달합니다.

Linux는 인터페이스 간 패킷을 전달합니다.

iptables를 사용하지 않고 인터페이스 간에 패킷을 전달하고 싶습니다. 나는 iptables 자체에 반대하는 것이 아니라 단지 내 단순한 요구 사항에 불필요하다고 생각할 뿐입니다. 하지만 나는 이것을 할 수 없습니다. 할 수 있나요?

시나리오는 다음과 같습니다. 호스트 A에 무선 인터페이스와 유선 인터페이스가 있습니다. 내 무선 게이트웨이의 IP는 10.0.0.1입니다. 내 무선 인터페이스는 10.0.0.12입니다.

그래서 sysctl을 사용하여 포트 전달을 활성화하고 유선 인터페이스용 네트워크에 IP를 생성한 다음 유선 인터페이스에 연결된 호스트(호스트 B라고 부르겠습니다)에 대한 경로 테이블 항목을 생성하면 모든 것이 해결될 것이라고 생각했습니다. 괜찮을 거야 알았지?

그래서 나는 가지고있다:

  • 무선 전화:
    • 게이트웨이==10.0.0.1
    • 호스트 A 인터페이스==10.0.0.12
    • 호스트 A 넷마스크 == 255.255.255.0
  • 열광한:
    • 호스트 A 인터페이스==10.0.0.99
    • 호스트 B 인터페이스 == 10.0.0.100, 호스트 A에 연결됨
    • 넷마스크가 255.255.255.255인 호스트 B에 대한 라우팅 테이블 항목입니다.

호스트 A에서 호스트 B로 ping 및 ssh를 실행할 수 있습니다. 그러나 호스트 B에서 게이트웨이를 ping하려고 하면 호스트 A의 유선 인터페이스에서 다음과 같은 내용을 많이 볼 수 있습니다.

12:56:55.211866 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:56.211751 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:57.214187 ARP, Request who-has gateway tell 10.0.0.100, length 46
12:56:58.211834 ARP, Request who-has gateway tell 10.0.0.100, length 46
...

뭔가 빠졌나요? 아니면 iptables가 필요한가요?

이것은 호스트 A의 라우팅 테이블입니다.

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 wlp3s0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 wlp3s0
10.0.0.100      0.0.0.0         255.255.255.255 UH        0 0          0 enp0s25

광고 감사합니다 Vance!

그런데, 호스트 A에서:

# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

답변1

동일한 주소 공간을 가진 2개의 서로 다른 네트워크 블록이 있을 수 없습니다. 따라서 ip_forward=1이 라우팅에 사용되므로 ip_forward를 실행하는 것은 쓸모가 없습니다. 따라서 두 네트워크 블록에서 서로 다른 네트워크를 사용하거나 실제로 이 설정을 원하는 경우 브리지를 설정하십시오.

데비안의 경우

$sudo apt-get install bridge-utils

vi /etc/network/interfaces

   allow-hotplug wlan0  
      iface wlan0 inet manual

   auto eth0   
      iface eth0 inet manual

   auto br0  
   iface br0 inet static  
   bridge_ports eth0 wlan0  
      address 10.0.0.1  
      netmask 255.255.255.0

$sudo service networking restart

관련 정보