LinuxForum.Fans
Тема

Ошибка в скрипте с iptables

Автор: u23397 6 сообщений 760 просмотров
#291082

Доброго времени суток.
Есть файл ssh.ips в котором находится список айпи адресов с которых можно заходить на ssh, записи вида:


1.1.1.1
2.2.2.2
3.3.3.3

И есть скрипт, который берет айпи адреса из этого файла, и разрешает доступ по ssh только для айпишников из этого файла:

text

#!/bin/sh

for ip in `cat ssh.ips` do /sbin/iptables -I INPUT -s $ip -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT done /sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j DROP

При запуске скрипта получаю ошибку:

' not found.4.4: host/network `1.1.1.1
Try `iptables -h' or 'iptables --help' for more information.

ЧЯДНТ ?

#291085

Покажите

text

cat -A ssh.ips
text

cat -A ВАШ_СКРИПТ
#291140
text

 cat -A ssh.ips
M-oM-;M-?1.1.1.1^M$
2.2.2.2^M$
3.3.3.3^M$
4.4.4.4
text

#!/bin/sh$
$
#######################$
#####   CONF      #####$
#######################$
SSH_PORT=22$
BAN_POLICY=REJECT$
#######################$
#####   INIT      #####$
#######################$
/sbin/iptables -F$
$
#######################$
######  SSH     #######$
#######################$
for ip in `cat ssh.ips`$
do$
        /sbin/iptables -I INPUT -s $ip -i eth0 -p tcp -m tcp --dport $SSH_PORT -j ACCEPT$
done$
/sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --dport $SSH_PORT -j $BAN_POLICY$

Не могу понять откуда эти непечатаемые символы в ssh.ips...

#291152
"NW" написал:
Не могу понять откуда эти непечатаемые символы в ssh.ips...

Редактор какой? ...или этот файл каким-то скриптом создаётся? ...или «copy-paste»?

#291165

вас в файле ^M не смущают?))) вы в винде файл делали?

#291173
"Харитон" написал:
вас в файле ^M не смущают?)))

Как видно, смущают ;)

"NW" написал:
Не могу понять откуда эти непечатаемые символы в ssh.ips...

Исправить легко:

text

sed -i'' -e 's/[[:cntrl:]*]//g' ssh.ips

Ну или для перестраховки лучше так:

text

sed -i'.bak' -e 's/[[:cntrl:]*]//g' ssh.ips
Войдите или зарегистрируйтесь, чтобы ответить.