wlan0
약간 이상한 네트워크 설정을 갖춘 노트북이 있습니다. VM 및 컨테이너의 모든 인터넷 액세스를 노트북에 있는 기본 경로( 또는 eth0
일 수 있음)로 전달할 수 있도록 평소 와 다음을 ppp0
설정했습니다 .sysctl net.ipv4.ip_forward=1
/etc/network/interfaces
auto lxcbr0
iface lxcbr0 inet static
address 192.168.56.1
netmask 255.255.255.0
bridge_ports none
bridge_fd 0
bridge_maxwait 0
# XXX: no --out-interface
up iptables -t nat -A POSTROUTING -j MASQUERADE
down iptables -t nat -D POSTROUTING -j MASQUERADE
NetworkManager를 사용하여 인터넷에 연결합니다. 지금까지는 부팅을 시도 fossil ui
하고 127.0.0.1
이 설정으로 연결하면 클라이언트 주소가 다른 서브넷에서 오는 것을 발견할 때까지 제대로 작동했습니다 .
예를 들어 다음 Perl 스크립트는 다음과 같습니다.
#!/usr/bin/perl
use 5.020;
use IO::Socket::INET;
say IO::Socket::INET::->new(
Proto=>"tcp", Listen=>0,
LocalAddr=>"127.0.0.1:8080",
ReuseAddr=>1, ReusePort=>1,
)->accept->peerhost;
127.0.0.1
연결하는 데 사용하면 일반적으로 인쇄되지만 nc 127.0.0.1 8080
(다른 컴퓨터에서도 마찬가지) 이 랩탑에서는 인쇄됩니다(실제로 192.168.1.11
현재 기본 경로가 있는 주소입니다).wlan0
127.0.0.0/8
via 에 특별한 경로를 추가하려고 시도했지만 lo
아무 것도 변경되지 않았습니다.
localhost 연결이 실제로 localhost에서 온 것처럼 작동하도록 하려면 어떻게 해야 합니까?
답변1
! --out-interface lo
여기에 NAT 방화벽 규칙이 추가되었습니다 . 이제 lo
액세스는 일반적인 법률에 따라 관리되며 위장의 대상이 되지 않습니다(그렇게 되어서는 안 됨).