iptablesを使用してポートを許可すると失敗する

iptablesを使用してポートを許可すると失敗する

私は、iptables を使用して Debian サーバーでポートをすばやく開いたり閉じたりするための bash スクリプトを作成しようとしています。ゲーム サーバーを実行する予定なので、スクリプトを使用して「メンテナンス モード」と「サーバー - ゲームプレイ モード」をすばやく切り替えたいと考えています。Linux の経験があまりないので、この点については初心者であることをお許しください...

基本的に、それぞれ異なるポートで実行される 3 つの個別のゲーム サーバー インスタンスを実行します。

  • サーバーAには32000 TCP + UDPが必要そして32005 TCP
  • サーバーBには33000 TCP + UDPが必要そして33005 TCP
  • サーバーCには34000 TCP + UDPが必要そして34005 TCP
  • また、デフォルトでは、Web 関連の用途でポート 80 と 443 TCP を許可しています (何らかの理由で、これらのポートが無効になり続けるため、まだ対応中です)。

スクリプトを実行した後、ポート 80 は正常に開きますが、何らかの理由で残りのポートを開くことができません...

これが私のスクリプトの最終状態です。

#!/bin/bash
RED='\033[0;31m'
YELLOW='\033[1;33m'
GREEN='\033[1;32m'
ORANGE='\033[0;33m'
GREY='\033[1;30m'
NC='\033[0m'

echo -e "${ORANGE}Starting default server iptables script${GREY}"

set -o xtrace

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#Web ports configuration
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

#A server ports configuration
iptables -A INPUT -p tcp --dport 32000 -j ACCEPT
iptables -A INPUT -p udp --dport 32000 -j ACCEPT
iptables -A INPUT -p tcp --dport 32005 -j ACCEPT

#B server ports configuration
iptables -A INPUT -p tcp --dport 33000 -j ACCEPT
iptables -A INPUT -p udp --dport 33000 -j ACCEPT
iptables -A INPUT -p tcp --dport 33005 -j ACCEPT

#C server ports configuration
iptables -A INPUT -p tcp --dport 34000 -j ACCEPT
iptables -A INPUT -p udp --dport 34000 -j ACCEPT
iptables -A INPUT -p tcp --dport 34005 -j ACCEPT

iptables -I INPUT 1 -i lo -j ACCEPT
iptables -P INPUT ACCEPT
iptables -A INPUT -j DROP

#Save the iptables
eval "iptables-save > /etc/iptables/rules.v4"

set +o xtrace
echo -e "\n\n\nScript finished executing...! :-)${NC}"

使っていますこのウェブサイトポートが開いているかどうかを確認します。

私の間違いを指摘していただけると本当にありがたいです。もう 2 日間、解決しようと努力しているからです :-(

編集:nmap をダウンロードして、すべての TCP ポートのスキャンを実行しました。何らかの理由で、ポート 32005 は開いているのに、残りは閉じています。非常に困惑しています :) スクリーンショットをご覧ください。 ここに画像の説明を入力してください

関連情報