두 개의 인터페이스 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 라우터로 구성하려면 다음을 수행해야 합니다.
이미 수행한 대로 IP 전달을 활성화하십시오(이것은 향후 알림일 뿐입니다). 다음 줄을 편집하십시오.
/etc/sysctl.conf
net.ipv4.ip_forward=1
iptables로 NAT를 활성화합니다.
wlan0
외부 인터페이스는 어디에 있는지 다음 명령을 실행하십시오 .iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
재부팅 시 iptables 규칙이 재설정된다는 점을 기억하세요. 그런 다음 iptables 재구성을 자동화해야 합니다.