Ubuntu 20.04ファイアウォールUFWは、NAT変換、IPマスカレード、ポートリダイレクション、ポートマッピングを行います

参考資料:
「NATとしてのUbuntuファイアウォールIP転送、イントラネットクラスター共有ネットワーク(シンプル)」

「focal(8)ufw-framework.8.gz manual」
プロジェクトでは、ルーターが外部ネットワークへのNAT共有アクセスと内部ネットワークへのポートマッピングアクセスを実現する必要があります。ubuntu20.04サーバーを使用してufwファイアウォールを使用するだけです。機能を実現します。

1つの需要

ハードウェア:少なくとも2つのネットワークポートを備えたサーバー
ソフトウェア:ubuntu 20.04 + ufw
用語の説明:
ip camouflage:ubuntuでは、natはip camouflageと呼ばれ、「内部ネットワークポートeno1(10.0など)からのプライベートネットワークアドレスを許可することを意味します。 0.0 / 20)コンピューターは外部ネットワークポートeno2で単一のIPアドレスを共有します "
ポートリダイレクト:外部ネットワークポートeno2のポートを内部ネットワークアドレス10.0.0.Xにあるポートに転送します。たとえば、tcpを転送します。 10.0.0.3のWebサーバーへの外部ネットワークポートeno2のポート80。

2 UFWの基本操作:

2.1現在のステータスとファイアウォールルールを表示する

ufw status    #Status: active 服务激活;如果没有配置规则,将不显示防火墙规则

2.2デフォルトのアクションを設定する

ufw default allow/deny    #对未配置的端口执行默认允许/拒绝动作

2.3ポートを許可/拒否するルールを追加する

ufw allow 22/tcp    #允许 22 tcp封包;还可以换成 22/udp,表示允许22端口 udp封包
ufw deny 22       #拒绝 22 端口 (udp+tcp)

2.4ポートを許可/拒否するためのルールを削除します

ufw delete allow/deny 20    #删除规则同添加一致 添加 22/tcp就删除 22/tcp,不能删除 22

2.5ファイアウォールの有効化/無効化/再読み込み
ファイアウォールサービスを開始する前に22 / tcpアクセス許可ルールを設定するには、sshを介したリモート接続をお勧めします

ufw enable/disable/reload

3ファイアウォール構成の転送

3.1最初にシステムのIP転送をオンにします

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1    #增加或修改该字段,值设为1

3.2効果的

sysctl -p

3.3ファイアウォール転送の設定(2つの構成ファイルの
変更3.3.1 / etc / default / ufwの変更

vim /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"    #该值设为ACCEPT

注:
#デフォルトルールのコンテンツはすべて* filter…COMMITに含まれています
#次のコンテンツを追加する場合、* nat…COMMITを* filter…COMMITに配置できないことに注意してください
#10.0.0.0 / 20はイントラネットネットワークセグメントです

3.3.2 / etc / ufw / before.rulesを変更する

vim /etc/ufw/before.rules
#在末尾增加以下字段

*nat
:PREROUTING - [0:0]
:POSTROUTING - [0:0]
-A POSTROUTING -s 10.0.0.0/20 -o eno2 -j MASQUERADE
COMMIT

3.3.3ファイアウォールを再起動して成功

ufw disable
ufw enable

4ポートリダイレクションを設定します。

4.1外部ネットワークポートeno2のtcpポート80を10.0.0.3のWebサーバーに転送します。
4.1.1 / etc / ufw / sysctl.confを編集します

vim /etc/ufw/sysctl.conf
net.ipv4.ip_forward=1

4.1.2 /etc/ufw/before.rulesを編集し、natセクションに追加します

vim /etc/ufw/before.rules

-A PREROUTING -p tcp -i eno2 --dport 80 -j DNAT --to-destination 10.0.0.3:80

4.1.3ufwルールを追加する

ufw route allow in on eno2 to 10.0.0.3 port 80 proto tcp
ufw allow 80

eno2ポートから着信し、上記のufwによって追加された10.0.0.3ポート80に転送されたデータを削除します。eno2ポート
ufw route delete allow in on eno2 to 10.0.0.3 port 80 proto tcp
から着信してホスト10.0.0.3ポート22に転送されたデータを拒否します
ufw route reject in on eno2 to 10.0.0.3 port 80

4.1.4ufwを再起動します

ufw reload

4.2ポート62022を10.0.0.3のポート22に転送します。4.2.2/ etc / ufw / before.rulesを
編集して、NATセクションに追加します。

-A PREROUTING -p tcp -i eno2 --dport 62022 -j DNAT --to-destination 10.0.0.3:22

4.2.3ufwルールを追加する

ufw route allow in on eno2 to 10.0.0.3 port 22
ufw allow 62022

4.2.4ufwを再起動します

ufw reload

5sshポートを64422に変更します

5.1 / etc / ssh / sshd_configを変更します

vim /etc/ssh/sshd_config
port 22
port 64422

5.2sshサービスを再起動します

service ssh restart

5.3ufwを変更する

ufw allow 64422

5.4ufwを再起動します

ufw reload

5.5sshの新しいポート644225.5
成功後に/ etc / ssh / sshd_configを変更する

vim /etc/ssh/sshd_config
#port 22

5.6sshサービスを再起動します

service ssh restart

おすすめ

転載: blog.csdn.net/m0_49212388/article/details/112261558