Я пытаюсь написать скрипт bash для быстрого открытия и закрытия портов по своему желанию на моем сервере Debian с использованием iptables. Я хочу быстро переключаться между "Maintenance mode" и "Server - Gameplay mode" с помощью моего скрипта, поскольку я буду запускать игровой сервер. Пожалуйста, простите мою некомпетентность в этом, так как я не очень опытен в Linux...
По сути, я буду запускать три отдельных экземпляра игрового сервера, которые будут работать на разных портах по отдельности.
- Серверу A требуется 32000 TCP + UDPи32005 ТКП
- Серверу B требуется 33000 TCP + UDPи33005 ТКП
- Серверу C требуется 34000 TCP + UDPи34005 ТКП
- Кроме того, по умолчанию я разрешаю порты 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}"
Я используюэтот сайтчтобы проверить, открыт ли мой порт или нет.
Если бы вы могли указать мне на мои ошибки, я был бы очень признателен, потому что я уже два дня пытаюсь разобраться :-(
РЕДАКТИРОВАТЬ:Я только что скачал nmap и запустил сканирование всех портов tcp. По какой-то причине мой порт 32005 открыт, а все остальные закрыты. Теперь я очень, очень запутался :) Пожалуйста, посмотрите на скриншот.