背景
複数のプライベートネットワークでCentOS7とファイアウォールを実行しているNATホストの適切な設定に関する情報を取得するために、Web上で検索して検索しました。
私は最も重要な問題がある作業環境を持っています。つまり、すべてのホストがNATホストを介してインターネットにアクセスできます。
しかし、どの段階で何を行うのか、すべてのプライベートホストが他のすべてのプライベートサブネットと通信できる理由を理解したいと思います。私は最初にプライベートホストが残りのプライベートネットワークから隔離されると仮定しましたが、今は私の構成がネットワークの個人的な側面を互いに開放していることを理解(または仮定)します。
質問
firewalld
TL; DRマニュアルのように読まない最高のリソースは何ですか?以下に説明するように、NATホストを設定するときに提供されたFORWARDおよびACCEPTルールは、上記のネットワークがNATゲートウェイに知られているすべてのプライベートネットワークと通信できることを正しく理解していますか?
ホスト01
: CentOS7 (ホスト01) をfirewalld
実行するゲートウェイ(VMware Fusion
) 11.1 )/24) - ens39 (プライベートネットワーク #3 - 192.168.12.1/24)
ターゲット:
- 私はすべてのプライベートネットワークに対して一般的なNATサービスを望むだけでなく(うまく機能します)プライベートネットワーク#2と#3だけが互いに通信できるようにしたいと思います。
- 私は今彼ら(#2または#3)がネットワーク#1と通信したくありません。
詳細 - ファイアウォールとホストの構成手順を完了しました。
転送を許可/etc/sysctl.conf
次の内容でファイルを修正しました。
net.ipv4.ip_forward=1
sysctl.confを再ロードした後、値は1なので有効になっていることをsysctl -p
確認してください。/proc/sys/net/ipv4/ip_forward
地域を追加
firewall-cmd --permanent --add-zone=vmnet3
firewall-cmd --permanent --add-zone=vmnet4
適切なゾーンにインターフェイスを追加します。
firewall-cmd --permanent --zone=public --add-interface=ens33
firewall-cmd --permanent --zone=internal --add-interface=ens37
firewall-cmd --permanent --zone=vmnet3 --add-interface=ens38
firewall-cmd --permanent --zone=vmnet4 --add-interface=ens39
胃をつけてください
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens33 -j MASQUERADE
プライベートネットワーク(内部領域)のルールが追加されました。
NATホストがトラフィックをインターネットにルーティングできることは正しいですか?プライベートネットワーク(ens37、38、39インターフェイス)間のイントラネット通信に影響しますか?
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens37 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens37 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens38 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens38 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens39 -o ens33 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens39 -m state --state RELATED,ESTABLISHED -j ACCEPT