====== 概要 ====== * ファイヤーウォールを動かします。 * プライベートLAN内の通信はすべて許可します。 環境 * プライベートLAN側に繋がっているNICのデバイス名: enp1s0f1 * ネットマスク: 192.168.0.0/24 ====== UFWの起動 ====== 作業はすべて管理ノードで行います。 - 有効化 sudo ufw enable * 無効化は$ sudo ufw disable - 計算ノード側の口(enp1s0f1)から出入りする通信は全て開放 $ sudo ufw allow in on enp1s0f1 - 設定の反映と確認 $ sudo ufw reload $ sudo ufw status verbose ====== IPマスカレードの設定 ====== * プライベートLAN内のコンピュータを外部のネットワークにつなぐには、ルータでプライベートIPアドレスをグローバルIPアドレスに変換するNAPT (Network Address Port Translation) が必要です。 * Linuxではこの技術のことをIPマスカレードと呼びます。 * より詳しく知りたい方は以下のサイトを参照してください。 * [[https://wa3.i-3-i.info/word11980.html|IPマスカレードとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典]] * ここではIP tablesのフロントエンドであるUFWを使用して設定します。 ===== 設定手順 ===== 作業はすべて管理ノードで行います。 ==== IPフォワードの設定 ==== インターネットにつながったLANポートと、プライベートLANにつながったLANポートはそれぞれ独立です。 この2つをつなげるのがIPフォワードです。 管理ノードのIPフォワードを有効にします $ sudo nano /etc/default/ufw (略) DEFAULT_FORWARD_POLICY="ACCEPT" (略) * 19行目にあるDROPをACCEPTに書き換えます。 $ sudo nano /etc/ufw/sysctl.conf (略) net.ipv4.ip_forward=1 (略) * 10行目にあるのをアンコメントします。 ==== IPマスカレードの設定 ==== UFWを設定します。 before.rulesの最後に以下のように追加します。 $ sudo nano /etc/ufw/before.rules (略) # don't delete the 'COMMIT' line or these rules won't be processed COMMIT # NAT table rules *nat -F :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/24 -o enp1s0f0 -j MASQUERADE COMMIT enp1s0f0はインターネットに繋がっているポートのデバイス名です。 自分の環境に合わせて直してください。 設定をUFWに反映させます $ sudo ufw reload * 設定を間違えているとネットにつながらなくなるので、そのときはUTWを止めてやり直しましょう $ sudo ufw disable ===== 確認 ===== 計算ノードのターミナルを開いて、インターネットにつながったか確認しましょう。 $ ping 8.8.8.8 インターネットにつながったら、OSのアップデートもしておきます。 $ sudo apt update $ sudo apt upgrade -y $ sudo reboot # 必要に応じて再起動