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
アクセスは一般的な法律に従って管理され、迷彩の対象にはなりません(そうしてはいけません)。