====== 概要 ======
* ファイヤーウォールを動かします。
* プライベート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 # 必要に応じて再起動