IPtablesを使用してUbuntuとCentOSでポートを開く方法を紹介します 。サーバーの全体的なセキュリティにとって、ファイアウォールを適切に構成することは非常に重要です。このチュートリアルでは、iptablesを使用して、ファイアウォールを設定し、LinuxVPSで必要なポートを開く方法を説明します。始めましょう。
Linuxサーバーでファイアウォールを管理するための強力なツールはほとんどありませんが、このチュートリアルではIPtablesを使用します。 UbuntuでUFWを使用している場合、またはCentOSでFirewalldを使用している場合は、UbuntuでUFWを使用してファイアウォールを設定する方法、またはCentOSでFirewallDを使用してファイアウォールを構成する方法に関する対応するガイドを確認できます。
1。 SSH経由で接続し、現在のIPtablesを一覧表示します
まず、SSH経由でLinux VPSに接続し、次のコマンドを使用して現在のIPtablesルールを一覧表示します。
sudo iptables -L
最近サーバーをセットアップした場合、IPtablesルールはなく、出力は次のようになります。
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
2。不要なルールをフラッシュする
そこに存在したくないルールがすでにいくつかある場合は、次のコマンドを使用してルールをフラッシュできます。
sudo iptables -F
特にINPUT
のデフォルトのポリシーの場合は、このコマンドに注意してください。 およびOUTPUT
チェーンがACCEPT
以外に設定されている サーバーからロックアウトされる可能性があるためです。
3。ファイアウォールルールの追加
追加する必要のある最初のファイアウォールルールは次のとおりです。
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
これは基本的に、ファイアウォールに現在のSSH接続を受け入れるように指示します。次のステップは、ループバックインターフェースでトラフィックを許可し、22
などのいくつかの基本的なポートを開くことです。 SSHおよび80
の場合 HTTPの場合。
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
これで、トラフィックを許可する他のポートを開く準備ができました。前の例でポート22と80を開くために使用したのと同じコマンドを使用します。
4。現在のルールを一覧表示する
次を使用して現在のルールを一覧表示します:
sudo iptables -L
出力は次のようになります。
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT tcp -- anywhere anywhere tcp dpt:http Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere
より詳細な出力については、以下を使用できます:
sudo iptables -nvL
そして、出力は次のようになります。
Chain INPUT (policy ACCEPT 4 packets, 255 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 4 packets, 283 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
5。 DROPルールを実装する
これで、DROP
を実装できます ACCEPT
の1つと一致しないすべての着信パケットをブロックするルール 以前に追加したルール。
sudo iptables -P INPUT DROP
6。 iptables-persistentをインストールする
最後に行う必要があるのは、ルールを保存して永続的にすることです。 Ubuntu VPSを使用している場合は、iptables-persistent
をインストールできます。 その目的のために。
sudo apt-get install iptables-persistent
Ubuntu 14.04 次のコマンドを使用して、iptablesルールを保存/再読み込みします。
sudo /etc/init.d/iptables-persistent save sudo /etc/init.d/iptables-persistent reload
Ubuntu 16.04 次のコマンドを使用します:
sudo netfilter-persistent save sudo netfilter-persistent reload
CentOS VPSを使用している場合は、次のコマンドを使用してIPtablesルールを保存できます。
service iptables save
もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、IPtablesを使用してUbuntuとCentOSのポートを開く必要はありません。その場合は、専門のLinux管理者にUbuntuとCentOSのポートを開くように依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。 IPtablesを使用してUbuntuとCentOSでポートを開く方法に関するこの投稿が気に入った場合は、 左側のボタンを使用してソーシャルネットワークで友達と共有するか、下に返信を残してください。ありがとう。