Ошибки IPtables

Возможно, используя awk + sed? Для:

$ cat quiz 
23. Lorem
A) he
B) ha
C) hu
c

2. Ipsun yes right to write something here?
A) Ok
B) No 
C) yes
b

Run

$ awk NF=NF RS= OFS=' ' quiz | sed 's/\([a-z]$\)/\n\1/' 

23. Lorem A) he B) ha C) hu 
c
2. Ipsun yes right to write something here? A) Ok B) No C) yes 
b
0
15.04.2015, 06:09
2 ответа

Это прямая отладка скрипта. Если вы запустите скрипт с помощью -x, вы увидите расширения ваших переменных.

Запустив с -x testcode.sh (для вашего имени файла как testcode.sh), 64-я строка становится видимой следующим образом,

-A INPUT -i eth3 -p tcp  --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

Причина этого в том, что в качестве действия в этой строке используется $iptables, а не $IPTABLES. Переменные (как и большинство вещей в Unix/Linux CLI) чувствительны к регистру.

Продолжая, параметры для iptables в строке 79 синтаксически неверны:

$IPTABLES -A INPUT -s $ETH -p tcp --dport 3306 -j ACCEPT

Флаг -s ожидает исходного адреса/подсети , и вы дали ему $ETH3, имя интерфейса . Вы имели в виду -i $ETH возможно?

Теперь, строка 85. Начало строки просто ломается (начальные поддельные символы, неправильный регистр на переменной):

$,iptables -A OUTPUT -p icmp --icmp-type 0 -s $ETH -d 10.1.2.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
0
28.01.2020, 04:57

Прежде всего, попробуйте просмотреть отображаемые ошибки. Они говорят вам, какие строки вызывают ошибку, и в вашем случае некоторые причины очевидны. См .:

./firewall.sh: line 85: $,iptables: command not found

Вы допустили опечатку, добавив запятую между $ и iptables .

Тогда вы должны знать, что имена переменных чувствительны к регистру. Таким образом, $ IPTABLES отличается от $ iptables .

После того, как вы исправите эти проблемы, ваши строки для разрешения SSH должны быть достаточно хорошими (обратите внимание на правило вывода, где вы должны указать выходной интерфейс -o , а не -i ])

$IPTABLES -A INPUT -i $ETH2 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -o $ETH2 -p tcp  --sport 22 -m state --state ESTABLISHED -j ACCEPT
0
28.01.2020, 04:57

Теги

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