新しい仮想インターフェイスを作成しています。
ifconfig eth0:0 123.123.22.22
このコマンドはnetstat -tlnp
以下を返します。
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:50505 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:7337 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3790 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 2450/Xvnc4
tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 2626/Xvnc4
tcp 0 0 192.168.2.77:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3001 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:52698 0.0.0.0:* LISTEN 3488/plugin_host
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
tcp6 0 0 ::1:7337 :::* LISTEN -
tcp6 0 0 :::5901 :::* LISTEN 2450/Xvnc4
tcp6 0 0 :::5902 :::* LISTEN 2626/Xvnc4
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 ::1:5432 :::* LISTEN -
tcp6 0 0 ::1:6010 :::* LISTEN -
したがって、nmap
仮想インターフェイスと物理インターフェイスの両方を作成すると、結果は同じになります(これは「ローカルアドレス」の値として説明されますnetstat
)。この新しい仮想インターフェイスでポート(5901,5902,6001,6002)を閉じてみました。nmap
両方のインターフェイスについて:
PORT STATE SERVICE
5901/tcp open vnc-1
5902/tcp open vnc-2
6001/tcp open X11:1
6002/tcp open X11:2
注文する:
sudo iptables -A INPUT -i eth0:0 -p tcp --dport 5901 -j DROP
ポートはアクセスできませんが開いています(場合nmap
)。eth0:0
からのトラフィックをスヌーピングするのを防ぐ方法はありますか0.0.0.0
?
ホストに2つのIPアドレス(192.168.1.1と10.1.2.1)があり、そのホストで実行されているサーバーが0.0.0.0でリッスンしている場合は、両方のIPアドレスを介して接続できます。 (ウィキペディア)
ターゲット:
- LANに新しいインターフェイスを公開し、Macアドレスを変更します(他のシステムのように見えます)
- Dockerコンテナを最近作成された新しいインターフェイスにバインドして、特定のポートでサービスを公開します。
答え1
既存のイーサネットカードの上に別のMACや他の名前空間(コンテナなど)を使用して2番目(仮想)イーサネットカードをエミュレートするには、次のものが必要です。マクエバーランド相互作用。
ここDockerコンテナでこれを使用する方法についてのガイドライン。
あなたが試したいくつかのネットワーク機能の根拠について少し混乱しているようです。おそらく次のことが役に立ちます。
eth0:0
ifconfig
これは、ツールがインターフェイスの2番目のIPアドレスを処理する従来の方法です。このような最新のツールを使用すると、ip addr
2番目のIPアドレスのみが表示されますeth0
。これはOSIレベル3でのみ機能するため、他のMACアドレスがなく、dockerなどのネットワーク名前空間と対話しないため、通常はすべてのアプリケーションがアドレスに正しくバインドされていることを確認する必要があるため、使用するのは困難です。このバインディングは、次のことを防ぐために必要です。アプリケーションeth0:0
0.0.0.0では、通常、トラフィック「受信」を防ぐ方法はありません0.0.0.0
(この形式の文を無視することはまったく意味がありません。インターフェイスは受信せず、アプリケーションはを受信します。iptables
パケットフィルタリング、ファイアウォール、NATなどを実行できます。いいえMACアドレスを変更し、どのアプリケーションがどのアドレスを受信するかを制御するなどの操作を実行できます。「I have use
modprobe
」も意味がありません。modprobe
カーネルモジュールをロードする方法であり、どのカーネルモジュールを使用したいのか、どの目的で使用するのか、そもそも自動的にロードされない理由がわからない場合、文は何の情報も伝えません。
また必ずお読みくださいXYの問題:XをしたいがXを達成するにはYをしなければならないと思うとき、いつもXについて尋ねてください。それからYを試したと言ってください。多くの場合(ここのように)Yは単に間違っています。