1

Тема: Iptables

Добрый день...
При запуске  трансмишина и dropbear с жёсткого диска, после всей загрузки, не пускает по 22 и 9091 порту в инет, хотя из локальной сети всё доступно, нельзя с внешней сети подключиться...
В телнете, после полного запуска прописуешь правила:
KEENETIC> exec iptables -A INPUT -p tcp --dport 22 -j ACCEPT
KEENETIC> exec iptables -A INPUT -p tcp --dport 9091 -j ACCEPT
KEENETIC> exec iptables -A INPUT -p tcp --dport 52400 -j ACCEPT
KEENETIC> exec iptables -A INPUT -p udp --dport 52400 -j ACCEPT
всё стартует....
В конфигах запускаемых приложений(S99transmission S10dropbeer), таблицы роутинга прописаны...
Какое приложение или команда может сбрасывать таблицу роутинга?

Ещё одна проблема...
Через какое то время "засыпает" НДД и потом подключается как диск В.
На 320 такого не было... Где и как отключить эту функцию?
Может из-за того что нет доступа к торренту из вне, нет раздач он и засыпет.... т.е. из решения первой проблемы решиться и эта...
Спасибо

Отредактировано rasm (2011-08-25 09:38:16)

2

Re: Iptables

rasm, правила для iptables лучше задавать в скриптах запуска приложений, или в скриптах, расположенных в папке /media/DISK_A1/system/etc/firewall.d. Зачем же это через telnet делать при работающем dropbear.
По поводу hdd - если проблема в засыпании, ищите утилиту производителя hdd. Не обязательно у Вас проблема с засыпанием, может другая.

PS Что Вы назуваете таблицей роутинга остается загадкой. Управление маршрутизацией (роутингом) - команда 'route', управление firewall - 'iptables'. Подробных руководств в интернете полно.

3

Re: Iptables

Zyxmon :

rasm правила для iptables лучше задавать в скриптах запуска приложений, или в скриптах,
PS Что Вы назуваете таблицей роутинга остается загадкой. Управление маршрутизацией (роутингом) - команда 'route', управление firewall - 'iptables'. Подробных руководств в интернете полно.

Извените за мое не совсем корректное описание ошибки...
В том то и дело, что через 5-10 сек после загрузки, по ssh доступ отключается...
В скриптах запуска приложений всё указано, ремарки сняты, порты указаны...
Вот и приходиться вручную писать правила через телнет...

В каком формате в /media/DISK_A1/system/etc/firewall.d должен быть файл?
Типа такой -- имя любое, исполняемый, с таким содержанием:
#!/bin/sh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 9091 -j ACCEPT
iptables -A INPUT -p tcp --dport 52400 -j ACCEPT
iptables -A INPUT -p udp --dport 52400 -j ACCEPT

Может ещё задержку добавить?
Спасибо....

Отредактировано rasm (2011-08-25 10:14:05)

4

Re: Iptables

rasm, исходите из скрипта /media/DISK_A1/system/bin/ext_firewall.sh, этот скрипт, вызывается из /bin/firewall.sh

#!/bin/sh

MOUNT="/media/DISK_A1/system"
FWD="$MOUNT/etc/firewall.d"

export PATH=$MOUNT/bin:$MOUNT/sbin:$MOUNT/usr/bin:$MOUNT/usr/sbin:/sbin:/usr/sbin:/bin:/usr/bin
export LD_LIBRARY_PATH=$MOUNT/lib:$MOUNT/usr/lib:/lib:/usr/lib

start() {
        for prog in `ls $FWD`; do
            $FWD/$prog
        done
}

start

В целом Вы написали все правильно.
Проверяйте правила iptables с помощью 'iptables -nvL' и аналогичных команд.

5

Re: Iptables

При записи /media/DISK_A1/system/etc/firewall.d в исполняемом файле всё проходит нормально...
Получается, что при старте программ, из исполняемых скриптов, где прописани правила, они запусаются, но потом почему-то слетают...
Не ясно почему...но факт -- есть факт...
Самое главное, что со сриптом в папке firewall.d -- всё начинает работает...

Отредактировано rasm (2011-08-25 11:03:08)

6

Re: Iptables

rasm :

Не ясно почему...но факт -- есть факт...

Скорее всего очепятались. Все работает и из скриптов запуска программ.

7

Re: Iptables

Zyxmon :
rasm :

Не ясно почему...но факт -- есть факт...

Скорее всего очепятались. Все работает и из скриптов запуска программ.

В том то и дело, скрипты были готовые, я только разремарил их и прописал порты...Вроде всё проверял..
Они запускаются -- но потом отваливаются...
Ещё вопрс -- как dropbeer запустить на другом порту, не на 22?
Можно, конечно за основу опенВРТ взять, с их конфиг файлами, но может есть как-то проще?

8

Re: Iptables

rasm :

Ещё вопрс -- как dropbeer запустить на другом порту, не на 22?

Ответы на такие вопросы следует искать в google или запуская программу с опцией --help

Dropbear sshd v0.52
Usage: dropbear [options]
Options are:
-b bannerfile   Display the contents of bannerfile before user login
                (default: none)
-d dsskeyfile   Use dsskeyfile for the dss host key
                (default: /media/DISK_A1/system/etc/dropbear/dropbear_dss_host_key)
-r rsakeyfile   Use rsakeyfile for the rsa host key
                (default: /media/DISK_A1/system/etc/dropbear/dropbear_rsa_host_key)
-F              Don't fork into background
-E              Log to stderr rather than syslog
-m              Don't display the motd on login
-w              Disallow root logins
-s              Disable password logins
-g              Disable password logins for root
-j              Disable local port forwarding
-k              Disable remote port forwarding
-a              Allow connections to forwarded ports from any host
-p [address:]port
                Listen on specified tcp port (and optionally address),
                up to 10 can be specified
                (default port is 22 if none specified)
-P PidFile      Create pid file PidFile
                (default /media/DISK_A1/system/var/run/dropbear.pid)
-i              Start for inetd
-W <receive_window_buffer> (default 24576, larger may be faster, max 1MB)
-K <keepalive>  (0 is never, default 0)
-I <idle_timeout>  (0 is never, default 0)

Re: Iptables

Создал скрипт /media/DISK_A1/system/etc/firewall.d/fw.sh   с текстом

#!/bin/sh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 9091 -j ACCEPT

как заставить запускаться этот скрипт автоматом?

После  игр с iptables не могу зайти на веб морду трансмишен, хотя

 2   140 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
   41  3639 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:52400
  109 22162 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:52400
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:9091

Отредактировано garik-korolev (2011-09-03 10:34:57)

10

Re: Iptables

garik-korolev :

как заставить запускаться этот скрипт автоматом?

Поставить атрибут исполнения у файла (chmod +x .....).
Первая строка в файле должна быть

#!/bin/sh
garik-korolev :

не могу зайти на веб морду трансмишен

А transmission запущен, в процессах присутствует? Правила проброса для transmission из пакета ipk (в виде закоментированных заготовок) прямо в скрипте запуска. Для встроенного transmission следует использовать web конфигуратор.

11

Re: Iptables

Zyxmon :

А transmission запущен, в процессах присутствует? Правила проброса для transmission из пакета ipk (в виде закоментированных заготовок) прямо в скрипте запуска. Для встроенного transmission следует использовать web конфигуратор.

Трансмишен запушен, в скрипте раскомментировал заготовки в скрипте запуска. Не пойму почему либо удаленно работает  ssh либо веб морда трансмишшен.

Отредактировано garik-korolev (2011-09-03 22:05:41)

12

Re: Iptables

garik-korolev :

Не пойму почему либо удаленно работает  ssh либо веб морда трансмишшен.

Трудно сказать почему так. Я transmission на кинетике не использую, не скажу.
Сейчас посмотрел файлы /bin/firewall.sh и /bin/transmission.sh в довольно свежей июньской прошивке. Сейчас в заводской прошивке сделана отдельная цепочка EXTRNT для transmission. На вскидку не понял, зачем это сделано. Раньше КМК было проще сделано, без этой цепочки.
Поизучайте эти скрипты.
Может быть кто другой подскажет, кто пакет transmission использует.

13

Re: Iptables

Добавлю, что все скрипты должны заканчиваться символом новой строки - не тут ли собака порылась? Проверьте свой fw.sh.
Стоит составлять скрипты так, чтобы не дублировать добавление правил iptables.

14

Re: Iptables

почему при работе dropbear не работает автоматическое перенаправление портов или это только у меня. Игры от этого сетевые не работают

15

Re: Iptables

У меня не работает моя любимая игруха TF2 после запуска dropbear . Так как после его запуска настройки проброса портов в роутере уже не воспринимаются. Хотел добавить через iptables, покурил  факи ddwrt вот что вышло

tables -t nat -I PREROUTING -p tcp -d $(nvram get wan_ipaddr) --dport 27000-27050 -j DNAT --to 192.168.1.33:27000-27050

  вот незадача, я незнаю как указать ip моего роутера так как он динамический и nvram get wan_ipaddr не подходит для его определения. Гуру помогите решить проблемку.

16

Re: Iptables

garik-korolev, запуск dropbear никак на проброс портов не влияет.

17

Re: Iptables

Для damnstupid - на вопрос http://forum.zyxmon.org/post3405.html#p3405
Эту статью Вы уже видели
http://wl500g.info/showthread.php?t=12833
На Кинетике dropbear запускаю на порту 44017. В /media/DISK_A1/syster/etc/init.d/S10dropbear в секции start с ключем -p 44017
В /media/DISK_A1/syster/etc/firewall.d создал fw.sh (обязательно с атрибутом запуска - у меня стоит 100755) с содержимым:
#!/bin/sh
iptables -I INPUT -p tcp --dport 44017 -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT

Все работает. Без крайнего правила iptables тоннели поверх ssh пробрасывались на все адреса кроме 192.168.1.1 - соответственно RPC трансмишена на кинетике, web кинетика увидеть было нельзя.
На виндовой машине в инете (с которой подключаюсь к домашней сети) поставил Tunnelier: SSH - он сам соединяется с домашним кинетиком, пробрасывает нужные мне порты и не нужно держать запущенным puTTy
http://www.bitvise.com/products

Отредактировано laforsh (2011-12-15 15:53:48)

18

Re: Iptables

Я понимаю, что второе правило необходимо для проброса туннелей на localhost (т.к. dropbear делает подключения с интерфейса lo ), но я не пробрасываю туннели, я просто не могу подключиться к SSH, т.е. почему то не проходят пакеты с интерфейса ppp0.

19

Re: Iptables

1. Провайдер точно пробрасывает порт на вас ? Попробуйте чем-нибудь
2. А вы с инета подключаетесь на правильный адрес ? С домашней сети на http://2ip.ru/ ходили ?
Например у моего провайдера все клиенты ходят через их NAT и соответств. имеют один внешний ip . Провайдер периодически переходит с одного ip на другой ( и все клиенты соответственно )
Пришлось регистрироваться на dyndns.org и соединяться к moe_imya.dyndns.org:44017

Отредактировано laforsh (2011-12-15 16:08:31)

20

Re: Iptables

damnstupid, в самых тяжелых случаях можно смотреть, что происходит, с помощью tcpdump. Очепятались Вы, наверное, в скрипте.

All Правила iptables абсолютно правильно помещать в скрипты в папке firewall.d. Дело в том, что при переконнекте, правила iptables создаются заново. При этом будут вызваны скрипты из папки firewall.d.

21

Re: Iptables

Вышеприведенные правила iptables однозначно рабочие.
В принципе пока экспериментировал обнаружил что и с такими правилами в fw.sh доступ из инета есть:

#!/bin/sh
iptables -t nat -I PREROUTING 1 -p tcp -i eth2.2 -d IP_ADDRES_NA_WAN --dport 44017 -j DNAT --to-destination 192.168.1.1:22
iptables -I INPUT 1 -p tcp -d 192.168.1.1 --dport 22 -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT

PS: В этом случае: IP_ADDRES_NA_WAN - статический внутренний IP на Wan кинетика (я подключен по выделенному Ethernet) , выданный провайдером мне по договору подключения.
dropbear запускается на 22 порту ( -p 192.168.1.1:22 или вообще без параметров)

Отредактировано laforsh (2011-12-15 16:27:41)

22

Re: Iptables

tcpdump показал что пакеты доходят до рутера и выходят с ppp0 интерфейса .... а вот почему они блокируются непонятно ...

PS. оказались не те пакеты ... т.е. где-то все-таки режется до рутера .... никто с таким на билайне не сталкивался?

Отредактировано damnstupid (2011-12-15 21:53:38)

23

Re: Iptables

damnstupid, может быть проблема в новом dropbear и ему нужен флаг -a при запуске? В журнале кинетика нет ли попыток ssh соединения?

Dropbear sshd v2011.54
Usage: dropbear [options]
Options are:
....
-a              Allow connections to forwarded ports from any host
....

24

Re: Iptables

Можно временно в консоли разрешить все

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT

25

Re: Iptables

при запуске не отрабатывает скрипт размещённый в /media/DISK_A1/system/etc/firewall.d/firewall.sh
создал файл такого содержания:
#!/bin/sh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

потом сделал chmod +x /media/DISK_A1/system/etc/firewall.d/firewall.sh
убедился через ls-la что файл исполняимый.
делаю reboot, и правило не работает.
перехожу в его папку и пробую запускать вот так
./firewall.sh
в ответ пишет
/media/DISK_A1/system/etc/firewall.d # ./firewall.sh                           
-ash: ./firewall.sh: not found                                                 
/media/DISK_A1/system/etc/firewall.d #                                           
сам файл в папке есть, но не обрабатывается.
Что сделать, чтоб он при запуске обрабатывался?