Linuxでは、ファイアウォールは着信および発信ネットワークトラフィックを制御するために不可欠です。ファイアウォールを使用してIPアドレスとポートを許可またはブロックするのは非常に簡単です。さまざまなファイアウォールを使用してIPアドレスとポートを許可またはブロックするコマンドは次のとおりです。
ファイアウォール
FirewalldはLinuxOSのファイアウォール管理ツールです。 XMLファイルで構成されています。 Firewall-cmdのコマンドラインインターフェイスを使用して、ファイアウォールルールを構成および操作できます。
- 着信トラフィックポート80を許可します。以下のコマンドは、ポート80のトラフィックを許可します。
# sudo firewall-cmd --zone=public --add-port=80/tcp
- 永続ファイアウォールで着信ポート80を許可します。
# sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
- 送信ポート番号25を拒否します。以下のコマンドは、ポート25からのすべての送信接続をブロックします。
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp -d 127.0.0.1 --dport=25 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport=25 -j REJECT
# firewall-cmd --reload - 着信ポート番号80を拒否します。以下のコマンドは、ポート80のすべてのトラフィックを拒否します。
# sudo firewall-cmd --remove-port=80/tcp --permanent
- 以下のコマンドを実行して、FirewalldでIPアドレスをブロックします。 173.248.192.11を自分のIPアドレスに置き換えます。
# sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='173.248.192.11' reject"
- Firewalldで特定のIPアドレスのポートを開きます。 Linuxローカルサーバーで開くソースIPアドレスとポート(3306)を追加します。その後、firewalld設定をリロードして、変更を適用します。
# firewall-cmd --zone=mariadb-access --add-source=173.248.192.11 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
# firewall-cmd --reload
Iptables
Iptablesは、一連の組み込みルールまたはユーザー定義ルールを含むチェーンを持つ一連のテーブルを使用します。これらのルールを使用して、Linuxマシンのネットワークトラフィックをフィルタリングできます。
- 以下のコマンドを実行して、すべての着信HTTP(ポート80)接続を許可します。
# sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
2番目のコマンドは、確立されたHTTP接続の送信トラフィックを許可します。これは、送信ポリシーがACCEPTに設定されていない場合に必要です。
# sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
- 以下のコマンドを実行して、複数の着信ポートを許可します。以下のコマンドは、ポート22、53、および80からのトラフィックを受け入れます。
# /sbin/iptables -A INPUT -p tcp --match multiport --dports 22,53,80 -j ACCEPT
- IPtablesを使用して着信ポート80を拒否します。以下のコマンドは、ポート80のすべての着信接続を拒否します。
# /sbin/iptables -A OUTPUT -p tcp --dport 80 -j DROP
# /sbin/service iptables save - IPtablesでIPアドレスをブロックします。 173.248.192.11を自分のIPアドレスに置き換えます。
# sudo iptables -A INPUT -s 173.248.192.11 -j DROP
- IPtablesの特定のIPアドレスのポートを開きます。特定のIPアドレスまたはサブネットからの着信SSHを許可します。
# sudo iptables -A INPUT -p tcp -s 173.248.192.11 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
UFW-複雑でないファイアウォール
UFWはUncomplicatedFirewallとも呼ばれます。ホストベースのファイアウォールに適しています。 IPv4とIPv6の両方をサポートしています。
- 着信ポート80を許可します。以下のコマンドは、ポート80からのすべてのトラフィックを許可します。
# sudo ufw allow 80
- 複数の着信ポートを許可します。以下のコマンドは、ポート53、80、および443からの着信トラフィックを許可します。
# sudo ufw allow 53,80,443
- 着信ポート80を拒否します。以下のコマンドは、ポート80のすべての着信トラフィックを拒否します。
# sudo ufw deny 22
- 送信ポート25を拒否します。以下のコマンドは、ポート25からのすべての送信トラフィックを拒否します。
# sudo ufw deny out 25
- UFWでIPアドレスをブロックします。マシンの着信トラフィックのIPアドレスをブロックできます。
# sudo ufw deny from 173.248.192.11
- UFWで特定のIPアドレスのポートを開きます。以下のコマンドは、上記のIPアドレスのポート80を開きます。 IPアドレスに置き換えることができます。
# sudo ufw allow from 173.248.192.11 to any port 80