localhost 서버에 연결하면 localhost가 아닌 클라이언트 주소가 생성됩니다.

localhost 서버에 연결하면 localhost가 아닌 클라이언트 주소가 생성됩니다.

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/8via 에 특별한 경로를 추가하려고 시도했지만 lo아무 것도 변경되지 않았습니다.

localhost 연결이 실제로 localhost에서 온 것처럼 작동하도록 하려면 어떻게 해야 합니까?

답변1

! --out-interface lo여기에 NAT 방화벽 규칙이 추가되었습니다 . 이제 lo액세스는 일반적인 법률에 따라 관리되며 위장의 대상이 되지 않습니다(그렇게 되어서는 안 됨).

관련 정보