iptables перезапускают возвраты: Неверный аргумент 'перезапуск'

Я имею Ubuntu LTS система, работающая в течение нескольких лет теперь. Вчера перебой в питании захлопнул мой компьютер. С восстановленным электроснабжением я загрузил систему, и все, казалось, запускалось прекрасный, за исключением iptables. Каждый раз, когда я перезагрузил эту систему, ufw всегда запускается, даже при том, что я настроил его не к. Я предпочитаю iptables просто, потому что я знаю это, таким образом, я закрыл 'ufw' и реконфигурировал iptables и перезапустите его со следующей процедурой:

sudo ufw disable

sudo ip_tables_reset.sh
sudo ip_tables_config.sh

sudo iptables restart

и проверьте с

sudo iptables -S

который возвращается:

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Теперь строка

sudo iptables restart

возвраты с

Bad argument 'restart'

Но я использовал эту процедуру искренне уже много лет. Я не установил обновлений, о которых я знаю недавно.

Что изменилось, тот этот надежный метод теперь перестал работать?

ссылка: iptables v1.4.12

1
задан 16 November 2017 в 18:41

1 ответ

Вы упоминаете, что эта команда

sudo iptables restart  #  wrong usage, its not a service

ниже набора сценариев состоит в том, как Вы резервируете, включаете или отключаете свой брандмауэр..., сначала проверяют, что у Вас есть пакет, установленный

dpkg -l | grep iptables

один способ просмотреть текущие iptable настройки

sudo iptables -L -n

канонический способ показать текущие iptable правила (не отобразите только изменения)

sudo iptables-save

рассмотрение Ваших правил Вы не блокируете входящий трафик (Ваши щиты снижаются), тогда как следующее действительно блокирует весь входящий трафик кроме указанных портов

*filter
:INPUT DROP [331:17104]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [9727:1360720]
:GitHubWebHooks - [0:0]
-A INPUT -p tcp -m tcp --dport 9000 -j GitHubWebHooks
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A GitHubWebHooks -s 192.30.252.0/22 -j ACCEPT
-A GitHubWebHooks -j DROP
COMMIT

уведомление, я открываю определенный IP-адрес 192.30.252.0/22, таким образом, я могу выполнить сервер, прислушивающийся к входящему трафику, таким образом, все упоминания о GitHubWebHooks являются дополнительными..., если Вы сохраняете выше в файл, затем загружают тот файл как Ваши правила затем, Вы будете хороши для движения... щитов

перед изменением, что-либо позволяет, выводят текущие правила в выходной файл

, vi firewall_save_current_rules.sh

#!/usr/bin/env /bin/bash

set -o errexit  #  exit on error

#  dump current iptable rules to file

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root"
   exit 1
fi

# ........

curr_timestamp=$(date '+%H%M%S%N')

curr_rulesfile=/etc/iptables/rules.v4.${curr_timestamp}.current_rules

rulesdir=$( dirname $curr_rulesfile )

if [[ ! -d $rulesdir ]]; then

    echo about to create dir $rulesdir
    mkdir $rulesdir
fi

iptables-save > ${curr_rulesfile}  # dump current iptable rules into output timestamped file


echo curr_rulesfile $curr_rulesfile

теперь выполняется выше сценария для сохранения текущих iptable правил

sudo ./firewall_save_current_rules.sh

ниже кода, определит новый подшипник, где мы блокируем весь входящий трафик по умолчанию кроме указанных частей (особенно ssh порт + нормальный http и https порты)

, vi firewall_shields_up.sh

#!/usr/bin/env /bin/bash

set -o errexit  #  exit on error

#  create new set of iptable rules from inline list of rules - Block all incoming traffic by default except specified

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root"
   exit 1
fi

# ........


curr_timestamp=$(date '+%H%M%S%N')

new_rulesfile=/etc/iptables/rules.v4.${curr_timestamp}.new_rules

rulesdir=$( dirname $new_rulesfile )

if [[ ! -d $rulesdir ]]; then

    echo about to create dir $rulesdir
    mkdir $rulesdir
fi

# .....  park into a new file below list of iptable rules

cat << EOF > ${new_rulesfile}

*filter
:INPUT DROP [331:17104]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [9727:1360720]
:GitHubWebHooks - [0:0]
-A INPUT -p tcp -m tcp --dport 9000 -j GitHubWebHooks
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A GitHubWebHooks -s 192.30.252.0/22 -j ACCEPT
-A GitHubWebHooks -j DROP
COMMIT

EOF


echo new_rulesfile $new_rulesfile


iptables-restore <  ${new_rulesfile}  #  engage new iptable rules from file


echo here is new iptable settings

iptables-save


#  ... if you are running docker you will want to bounce its daemon
#  sudo service docker restart

выполняется выше сценария для определения новых iptable правил

sudo ./firewall_shields_up.sh 

для полноты ниже, сценарий поиска и устранения неисправностей, который эффективно отключит брандмауэр путем открытия всего входящего трафика и исходящего трафика... выполненного в том, если Вы захотите, чтобы пустой большой список, однако выполненный выше firewall_shields_up.sh, отложил надлежащий брандмауэр

vi firewall_shields_down.sh

#!/usr/bin/env /bin/bash

set -o errexit  #  exit on error

#  open up all incoming and outgoing traffic ... effectively disabling the firewall

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root"
   exit 1
fi

# ........ lets first backup current rules into timestamped file

curr_timestamp=$(date '+%H%M%S%N')

curr_rulesfile=/etc/iptables/rules.v4.${curr_timestamp}.current_rules_before_opening_up_all_traffic

rulesdir=$( dirname $curr_rulesfile )

if [[ ! -d $rulesdir ]]; then

    echo about to create dir $rulesdir
    mkdir $rulesdir
fi

iptables-save > ${curr_rulesfile}  # dump current iptable rules into output timestamped file

echo curr_rulesfile $curr_rulesfile

# ... now alter iptables to lower shield




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



# ... display new iptable rules

echo
echo following are the new iptable rules after we opened up all incoming and outgoing traffic
echo

iptables-save
1
ответ дан 7 December 2019 в 15:34

Другие вопросы по тегам:

Похожие вопросы: