2つのネットワークインターフェイスを備えたCentOS 7サーバーがあります。 1つはLAN(ens32)を指し、もう1つはDMZ(ens33)を指します。
LANインターフェイスが正常に動作している間にrootとしてログインすると、トラフィックはDMZインターフェイスを介してのみ移動することがわかりました。これが何を意味するのか、それとも他の問題に正味の影響を与えるのかはわかりません。苦しんでいます。
たとえば、次のように実行すると:
curl --interface ens32 ipecho.net/plain
root 以外のユーザーとしてインターフェイスのパブリック IP を取得します。
私が実行した場合:
curl --interface ens33 ipecho.net/plain
root以外のユーザーとしてコマンドの実行が停止したように見え、プロセスを強制的に終了する必要があります。
前のコマンドをrootとして実行すると、インターフェイスのパブリックIPである期待される出力が得られます。
ここで何が起こっているのかを説明できる人はいますか?
ベストアンサー1
公式ページに示すように、curl
特定のインタフェースを指定/バインドするには、 CAP_NET_RAW またはroot
.
したがって、root
バインディング/ルーティングが可能で、一般ユーザーには機能しません。
一般ユーザーが使用する場合、curl
このオプションを許可しない場合は、--interface
サーバーのデフォルトのルーティング規則が適用されます。
カール公式ページからカル.1 マニュアルページ:
- 相互作用
指定されたインターフェースを使用して操作を実行します。インターフェイス名、IPアドレス、またはホスト名を入力できます。例は次のとおりです。
カール - インターフェースeth0:1https://www.example.com/
このオプションを複数回使用すると、最後のオプションが使用されます。
LinuxではVRFを指定するために使用できますが、バイナリにはCAP_NET_RAWがあるか、ルートとして実行する必要があります。
Linux VRFに関する追加情報:https://www.kernel.org/doc/Documentation/networking/vrf.txt