web-dev-qa-db-ja.com

NIC間のNATなしのルーティングを許可するためのfirewalld

私はネットワーク管理者として、リモートサイト用のネットワーク機器を出荷する前にセットアップしなければならないことがよくあります。

2台のネットワークカードを備えたLinuxワークステーションを使用すると便利です。セカンダリを設定すると、リモートサイトでセットアップする機器が使用するのと同じサブネット内のIPアドレスにセカンダリNIC=が設定されます。

会社のネットワーク-(eth0)-Fedora-(eth1)---設定ネットワーク

ワークステーションを介したルーティングを有効にし、Linuxワークステーションのプライマリを指す新しいサブネットにルートを追加できますNICであり、ワークステーションを介して、設定しているネットワークギアにpingできますが、 tcp接続は、firewalldをシャットダウンしないと通過しません。

GUIを調べて、構成ネットワークNICのデバイス名宛てのトラフィックを許可するルールを追加する方法を探しましたが、見つかったすべてのエントリは、内部ネットワークを外部にNAT /マスカレードしたいので、 tそれをしたい-私は時々他のサイトの同僚に設定ネットワークへのアクセスを許可する必要があるので、マスカレードは役に立ちません

また、構成ネットワークのIPアドレスは通常、セットアップするデバイスごとに、またはデバイスセットごとに異なります。そのため、インターフェース名とIPアドレスでルールを設定する方法を探していました。

Firewalldのリッチルールには宛先フィールドがありますが、インターフェースではなくアドレス/マスクのみを取得するようです。

何か案は?私はiptablesとfirewalldに戻って行き詰まっていると思います。このルールを実現するためにFedora 29をfirewalldからiptablesおよびiptablesコマンドに切り替えることについてのアドバイスも歓迎します。

4
Adam Johnson

妥協案は https://www.lisenet.com/2016/firewalld-rich-and-direct-rules-setup-rhel-7-server-as-a-router/ で言及されています

firewalldによって生成されたテーブルに生のiptablesルールを追加するために、「直接」ルールを使用する必要があるようです。

どちらの方向にも転送を許可するように要求します。私が正しく読んだ場合、これは次のように可能になるはずです:

firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth1 -o eth2  -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth2 -o eth1  -j ACCEPT

詳細を知らなければ、この方針はお勧めしません。これは、「会社のネットワーク」が、デフォルトのパスワードがハードコーディングされているボックスを探すために、おそらく設定ネットワークをスキャンできることを意味します。個人的な批判ではありません。これを読んでいる他の人へのメモです。

SSH、HTTPS、およびHTTPポートへの転送を制限することを検討する必要があるかもしれません。考えていないポートに「パスワード回復」または「デバッグ」メカニズムがある場合:-)。

1
sourcejedi