Linux를 통해 두 개의 인터페이스 연결

Linux를 통해 두 개의 인터페이스 연결

두 개의 인터페이스 eth0과 wlan0이 있습니다. wlan0을 사용하면 WAN에 액세스할 수 있는 AP와 연결되어 있으며 AP에서 나오는 DHCP를 통해 IP 주소를 받습니다.

두 번째 인터페이스는 eth0입니다. eth0을 통해 해당 서브넷에 연결된 모든 클라이언트에 다른 서브넷 IP 주소를 제공하는 dhcp 서버를 사용하여 구성했습니다.

내 클라이언트 장치(스마트폰)가 내 eth0 dhcp 서버에서 IP 주소를 올바르게 가져오고 있습니다.

그러나 지금은 eth0을 wlan0과 연결하는 데 어려움을 겪고 있습니다.

eth0 네트워크는 192.168.42.0/24입니다. 두 NIC가 모두 있는 내 PC는 192.168.42.1을 사용합니다. wlan0의 내 IP 주소는 172.22.3.193입니다.

내가 이미 한 일은 ipv4 전달을 활성화하는 것이었지만 성공하지 못했습니다. 내 전화기에는 인터넷에 연결되어 있지 않지만 eth0에 연결할 수 있다고 나와 있습니다. 작업을 전달하려면 특정 iptables 규칙을 설정해야 하는 것 같지만 인터넷에서 찾을 수 있는 다양한 접근 방식을 시도했지만 아무 것도 작동하지 않습니다.

다음에 무엇을 해야 할지에 대한 아이디어가 있나요?

편집: 내 경로 명령은 다음을 제공합니다.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         www.go.wlantick 0.0.0.0         UG    600    0        0 wlan0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.22.0.0      0.0.0.0         255.255.0.0     U     600    0        0 wlan0
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

답변1

Linux 서버를 NAT 라우터로 구성하려면 다음을 수행해야 합니다.

  1. 이미 수행한 대로 IP 전달을 활성화하십시오(이것은 향후 알림일 뿐입니다). 다음 줄을 편집하십시오./etc/sysctl.conf

    net.ipv4.ip_forward=1
    
  2. iptables로 NAT를 활성화합니다. wlan0외부 인터페이스는 어디에 있는지 다음 명령을 실행하십시오 .

    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
    

재부팅 시 iptables 규칙이 재설정된다는 점을 기억하세요. 그런 다음 iptables 재구성을 자동화해야 합니다.

관련 정보