Bekijk de volledige versie : Настройка IPTables
DarthSemafor
12-07-2009, 00:44
iptables -t nat -A PREROUTING -i br0 -p tcp -d внешний_IP_Asus_на_ppp0 --dport 80 -j DNAT --to-destination 192.168.0.2:8081
IP динамический :(
Есть роутер асус, подключенный к интернету (LAN 192.168.0.1), к нему подключен Большой Linux-роутер с двумя сетевухами (eth1-192.168.0.2 - к асусу, eth1-192.168.1.1-смотрит в локалку).На большом роутере стоит веб-сервер на порту 8081. Асус перенаправляет веб-запросы с инета по правилу:
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8081
iptables -t nat -D PREROUTING -i ppp0 -p tcp --dport 80 -j DROP
Есть очень большая необходимость посылать запросы к веб-серверу из локалки (192.1681.1/24), обращаясь при этом по хостнейму блаблабла.dyndns.org (http://блаблабла.dyndns.org), однако он выкидывает меня на 192.168.0.1:80. вместо 192.168.1.1:8081 :(
Заранее спасибо!
P.S.: man iptables не предлагать)
Судя по описанию сети - asus никаким боком не участвует в маршрутизации пакетов из локалки на большой роутер :)
inet <--> asus <--> big.router <--> local net все верно ?
DarthSemafor
12-07-2009, 08:08
Судя по описанию сети - asus никаким боком не участвует в маршрутизации пакетов из локалки на большой роутер :)
inet <--> asus <--> big.router <--> local net все верно ?
Да, верно, его-то и надо задействовать только при запросе к серверу по 80 порту
Вот так:
_:8081>__ ______:80>___
| | | |
^ | ^ |
inet <--> asus <--> big.router <--> local net
^ |
|_____________<:80______________|
-A PREROUTING -s 192.168.1.0/24 -d 192.168.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8081
Только "правильно" перенаправление должен делать big.router:
в /etc/hosts прописать 192.168.1.1 блаблабла.dyndns.org (для локалки блаблабла.dyndns.org - статичный :))
а в iptables -s 192.168.1.0/24 -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8081
DarthSemafor
12-07-2009, 12:11
-A PREROUTING -s 192.168.1.0/24 -d 192.168.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:8081
Только "правильно" перенаправление должен делать big.router:
в /etc/hosts прописать 192.168.1.1 блаблабла.dyndns.org (для локалки блаблабла.dyndns.org - статичный :))
а в iptables -s 192.168.1.0/24 -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8081
Уже лучше - после добавления динднс в /etc/hosts стала открываться индексная страничка:) Однако поддиректории и phpbb отказываются подчиниться. Да, еще маленький нюанс - в big.routerе стоит squid, соответстевенно там еще правило есть
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3122
От приведенных выше правил ничего не изменяется:(
IP динамический :(
man "/tmp/local/sbin/post-firewall" на предмет его вызова и передачи ДЕЙСТВУЮЩИХ IPадресов при КАЖДОМ реконекте.
P.S. какой $х, на какой интерфейс назначен - точно не помню, а искать инфу некогда....
DarthSemafor
13-07-2009, 14:35
man "/tmp/local/sbin/post-firewall" на предмет его вызова и передачи ДЕЙСТВУЮЩИХ IPадресов при КАЖДОМ реконекте.
P.S. какой $х, на какой интерфейс назначен - точно не помню, а искать инфу некогда....
Спасибо! Долго же я искал по форуму эти $х, но так и не нашел! Методом научного тыка подобрал следующий конфиг, после которого все заработало:)
iptables -t nat -I PREROUTING 1 -p tcp -d "$2" --dport 80 -j DNAT --to 192.168.0.2:8081
iptables -t nat -D PREROUTING -i "$1" -p tcp --dport 80 -j DROP
iptables -t nat -I PREROUTING 2 -i "$1" -p tcp --dport 8081 -j DROP
и обязательно удалить из /etc/hosts запись о diddns!
Может кому и пригодиться;)
Добрый день, есть вот такое правило в /usr/local/sbin/post-firewall
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
Подскажите пожалуйста какое нужно добавить правило , чтобы доступ к этому порту имелся только с диапазонов ip 192.168.0.0/24 и с ip 78.106.X.X .
Какой командой можно удалить все созданные правила в /usr/local/sbin/post-firewall? Заранее спасибо.
BcTpe4HbIu
15-07-2009, 12:18
Добрый день, есть вот такое правило в /usr/local/sbin/post-firewall
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
Подскажите пожалуйста какое нужно добавить правило , чтобы доступ к этому порту имелся только с диапазонов ip 192.168.0.0/24 и с ip 78.106.X.X .
Какой командой можно удалить все созданные правила в /usr/local/sbin/post-firewall? Заранее спасибо.
Вместо
iptables -I INPUT -p tcp --dport 22 -j ACCEPT пишем
iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 78.106.0.0/16 -p tcp --dport 22 -j ACCEPT
помоему так... только с масками мог напутать :D:cool:
Вместо
iptables -I INPUT -p tcp --dport 22 -j ACCEPT пишем
iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 78.106.0.0/16 -p tcp --dport 22 -j ACCEPT
помоему так... только с масками мог напутать :D:cool:
Спасибо большое, а как можно удалить старое?
LOEDiver
15-07-2009, 14:04
Какой командой можно удалить все созданные правила в /usr/local/sbin/post-firewall? Заранее спасибо.
Синтаксис удаления правила такой-же, как и его создание, только вместо -I (или -A) надо использовать -D
Например:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Удаление _всех_ правил: iptables -F
Если под "удалением старого" понималось удаление из файла post-firewall, то нужно открыть файл редактором (vi, или, если установлен, nano) и удалить соответствующие строчки.
И ещё, если под 78.106.X.X имелся в виду конкретный адрес, а не диапазон, то и вводить его надо так же:
iptables -I INPUT -s 78.106.X.X -p tcp --dport 22 -j ACCEPT
LOEDiver
15-07-2009, 16:52
Если под "удалением старого" понималось удаление из файла post-firewall, то нужно открыть файл редактором (vi, или, если установлен, nano) и удалить соответствующие строчки.
И, если идти до конца, выполнить тройку команд:
flashfs save && flashfs commit && flashfs enable
Спасибо всем большое за помощь, все получилось ))
teensharp
23-07-2009, 20:49
Появилась необходимость использовать расширение owner, чтобы составить правило вида:
iptables -A OUTPUT -m owner --uid-owner 500 -j MARK --set-mark 0x2e
Однако в прошивке Олега такое расширение отсутствует. В польской ветке нашел скомпилированное модули для этого расширения:
http://lesiuk.ath.cx/dysk/libipt_owner.so -> / usr / lib / iptables (match)
http://lesiuk.ath.cx/dysk/ipt_owner.o -> insmod / path / to / ipt_owner.o (kernel module)
Модуль ядра загружается без проблем, а расширение libipt_owner.so должно лежать в директории /usr/lib/iptables которая находится во флеш памяти роутера. Соответственно система ругается: Read-only file system
Есть ли возможность положить библиотеку в эту директорию (записать ее или хотя бы симлинк во флеш)? Или можно каким-то образом заставить iptables искать эту библиотеку в другой директории?
Заранее спасибо.
Доброго времени суток!
Помогите пожалуйста правильно post-firewall организовать, замаялся уже :(
Есть - роутер на котором стоит rTorrent (порт 52ХХХ), за ним стоит компьютер с uTorrent (порт 51ХХХ) и StrongDC (порт 16ХХХ).
В веб морде прописаны в virtual server проброски к uTorrent и StrongDC (both). Имеется реальный статический внешний IP.
Для стронга брал из одной статьи:
IPTABLES -I SECURITY -p udp --dport 16XXX -j RETURN
IPTABLES -D INPUT -j DROP
Это брал из "настройки с нуля":
IPTABLES -A OUTPUT -s wan_адрес/255.255.255.255 -o vlan1 -j ACCEPT
IPTABLES -A OUTPUT -o vlan1 -j DROP
Для uTorrent написал:
IPTABLES -I FORWARD -j ACCEPT
IPTABLES -I FORWARD -p all --dport 51xxx -j ACCEPT
Для rTorrent (по советам форума торрентс.ру где аналогичное обсуждалось):
iptables -P INPUT ACCEPT
iptables -A INPUT -p tcp --dport 52xxx -j ACCEPT
Вроде всё логично, но rTorrent ни в какую не хочет раздавать на Торрентс.ру, при этом uTorrent раздаёт на ура :confused: , правда так - скорость скачком дёрнется, затем падает, потом опять и так далее. Но что больше всего смущает - в логах веб морды вижу:
Aug 21 03:04:46 dropbear[348]: Child connection from ::ffff:213.87.81.74:38078
Aug 21 03:05:20 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:32 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:39 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:41 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:46 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:47 dropbear[348]: exit before auth: Max auth tries reached - user 'is invalid' from ::ffff:213.87.81.74:38078
И таких подобных там - чуть ли не каждую секунду штук по 5 (явно ломятся). Что меня явно не радует :mad:. Ставя вместо ...INPUT ACCEPT > DROP они прекращаются, но rTorrent всё-равно молчит и uTorrent перестаёт раздавать.
Помогите пожалуйста организовать всё как надо, и чтобы можно было самому из инета заходить на роутер (через PuTTY-SSH (22) и на веб морду rTorrent-a (8081) )
Но что больше всего смущает - в логах веб морды вижу:
Aug 21 03:04:46 dropbear[348]: Child connection from ::ffff:213.87.81.74:38078
Aug 21 03:05:20 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:32 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:39 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:41 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:46 dropbear[348]: login attempt for nonexistent user from ::ffff:213.87.81.74:38078
Aug 21 03:05:47 dropbear[348]: exit before auth: Max auth tries reached - user 'is invalid' from ::ffff:213.87.81.74:38078
И таких подобных там - чуть ли не каждую секунду штук по 5 (явно ломятся). Что меня явно не радует :mad:. Ставя вместо ...INPUT ACCEPT > DROP они прекращаются, но rTorrent всё-равно молчит и uTorrent перестаёт раздавать.
Помогите пожалуйста организовать всё как надо, и чтобы можно было самому из инета заходить на роутер (через PuTTY-SSH (22) и на веб морду rTorrent-a (8081) )
ssh server на другом порту поднять и все...
А можно чуть поподробнее? :-)
настраивал по инструкции с нуля, а именно:
mkdir -p /usr/local/etc/dropbear
dropbearkey -t dss -f /usr/local/etc/dropbear/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/local/etc/dropbear/dropbear_rsa_host_key
mkdir -p /usr/local/sbin/
echo "#!/bin/sh" >> /usr/local/sbin/post-boot
cp /usr/local/sbin/post-boot /usr/local/sbin/post-firewall
cp /usr/local/sbin/post-boot /usr/local/sbin/post-mount
cp /usr/local/sbin/post-boot /usr/local/sbin/pre-shutdown
chmod +x /usr/local/sbin/p*
echo "dropbear > /dev/null 2>&1" >> /usr/local/sbin/post-boot
dropbear > /dev/null 2>&1
что нужно добавить/изменить?
А можно чуть поподробнее? :-)
настраивал по инструкции с нуля, а именно:
dropbear -p 1234 > /dev/null 2>&1
что нужно добавить/изменить?
Вот так сделать.
1234 - любой порт на усмотрение, рекомендуют обычно порты выше 1024 делать.
Доброго времени суток!
Помогите пожалуйста правильно post-firewall организовать, замаялся уже :(
Есть - роутер на котором стоит rTorrent (порт 52ХХХ), за ним стоит компьютер с uTorrent (порт 51ХХХ) и StrongDC (порт 16ХХХ).
В веб морде прописаны в virtual server проброски к uTorrent и StrongDC (both). Имеется реальный статический внешний IP.
Для стронга брал из одной статьи:
IPTABLES -I SECURITY -p udp --dport 16XXX -j RETURN
IPTABLES -D INPUT -j DROP
Это брал из "настройки с нуля":
IPTABLES -A OUTPUT -s wan_адрес/255.255.255.255 -o vlan1 -j ACCEPT
IPTABLES -A OUTPUT -o vlan1 -j DROP
Для uTorrent написал:
IPTABLES -I FORWARD -j ACCEPT
IPTABLES -I FORWARD -p all --dport 51xxx -j ACCEPT
Для rTorrent (по советам форума торрентс.ру где аналогичное обсуждалось):
iptables -P INPUT ACCEPT
iptables -A INPUT -p tcp --dport 52xxx -j ACCEPT
Половина из этого не нужна или даже вредна. Вот что стоит оставить (заметьте, iptables пишется строго маленькими [строчными] буквами) :
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 52xxx -j ACCEPT
iptables -I SECURITY -p udp --dport 16XXX -j RETURN
И нужно убедиться, что в настройках роутера на странице Internet Firewall - WAN & LAN Filter поле Port Forwarding default policy выставлено в ACCEPT.
Если нужно извне открыть ssh и морду rtorrent, то добавляем
iptables -A INPUT -p tcp --dport xxx -j ACCEPT
iptables -A INPUT -p tcp --dport yyy -j ACCEPT
где xxx - порт, на котором висит dropbear (ssh), а yyy - порт морды rtorrent-а.
(заметьте, iptables пишется строго маленькими [строчными] буквами)
да, это заметил почти сразу, исправил:o
И нужно убедиться, что в настройках роутера на странице Internet Firewall - WAN & LAN Filter поле Port Forwarding default policy выставлено в ACCEPT.
это ещё изначально выставил, при первой же настройке
Спасибо за советы:)и правда этого достаточно
а кто подскажет, как можно бороться с глюками iptables?
поясню
после покупки роутера прошил тутошней прошивкой, по "простой настройке до торрентов" и "дурак едишен" поднял все что нужно, dropbear, свою самбу, фтп, rtorrent. Все получилось отлично
потом стали вылезать глюки - со временем asus начал переставать пускать снаружи по ssh и по веб морде 8080. причем морда от торрента по 8081 продолжала пускать, равно и как сам торрент продолжал качать
ребут машинки помогал на некоторе время.
опытным путем выяснено, что на некоторое время помогает передергивание правил iptables вместо ребута, они никуда не девались, просто почему то переставали действовать
выдвинуто предположение, что iptables-у не хватает ресурсов
своп сделан 512 метров, но система его особо не юзает, держит физической оперативы килобайт 600
total used free shared buffers
Mem: 30164 29644 520 0 1216
Swap: 506008 35280 470728
Total: 536172 64924 471248
как временная мера сделан скриптик для передергивания правил, исполняемый раз в час по крону. В таком виде это жило полгода и недавно перестало помогать. То есть, снаружи нет доступа по ssh даже сразу после ребута. правда есть по веб морде, и через ее командную строку снаружи можно хоть что то видеть, что творится внутри. Но зато перестал работать до кучи ftp.
короче часть правил работает, часть - нет
че делать - хезе
вот post-firewall
#!/bin/sh
# SSH from WAN
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 20 -j ACCEPT
# torrent
iptables -I INPUT -p tcp --dport 65534 -j ACCEPT
# torrent morda
iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
iptables -A INPUT -j DROP
а вот вывод iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:tproxy
ACCEPT tcp -- anywhere anywhere tcp dpt:65534
logdrop all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW
SECURITY all -- anywhere anywhere state NEW
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
ACCEPT tcp -- anywhere ddd tcp dpt:www
ACCEPT icmp -- anywhere anywhere
logdrop all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh flags:SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp flags:SYN,RST,ACK/SYN
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data flags:SYN,RST,ACK/SYN
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
logdrop all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
logdrop all -- anywhere anywhere
logdrop all -- anywhere anywhere
SECURITY all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere ctstate DNAT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain MACS (0 references)
target prot opt source destination
Chain SECURITY (2 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
RETURN udp -- anywhere anywhere limit: avg 5/sec burst 5
RETURN icmp -- anywhere anywhere limit: avg 5/sec burst 5
logdrop all -- anywhere anywhere
Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
ACCEPT all -- anywhere anywhere
Chain logdrop (6 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
DROP all -- anywhere anywhere
вроде все есть
а кто подскажет, как можно бороться с глюками iptables?
Ваш пример отлично показывает слабости принципа "[DURAK EDITIONS]". А именно - чтобы что-то делать, надо понимать, что делаешь.
Конкретно, вам надо поменять строчку "iptables -D INPUT -j DROP" на "iptables -D INPUT -j logdrop" (а лучше оставить первую, а вторую сразу за ней дописать).
А вот эта вообще не нужна: "iptables -A INPUT -j DROP".
выходит дураки не мы а те кто пишет такие статьи
нафига нужны такие статьи, по которым заведомо ничего не работает
вернее, должно работать в теории, или на нормальной линуксовой машине
но у нас то специфическая машинка.
дело в том, что сначала исполняются конфиги прошивки, а потом уже наши из /usr/local/*
я уже с помощью разбирающихся людей все исправил
итак, кто будет бороться с durak-edition - там все неверно!
просим показать iptables, чего у него есть с verbo-зом
iptables -L -v
[admin@ddd sbin]$ iptables -L -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
2404 167K ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
8686 1477K ACCEPT tcp -- any any anywhere anywhere tcp dpt:tproxy
1 60 ACCEPT tcp -- any any anywhere anywhere tcp dpt:65534
5222 404K logdrop all -- any any anywhere anywhere state INVALID
15M 948M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
32512 1951K ACCEPT all -- lo any anywhere anywhere state NEW
80183 29M ACCEPT all -- br0 any anywhere anywhere state NEW
735K 38M SECURITY all -- ppp0 any anywhere anywhere state NEW
3413 1152K ACCEPT udp -- any any anywhere anywhere udp spt:bootps dpt:bootpc
75 4500 ACCEPT tcp -- any any anywhere ddd tcp dpt:www
134 8316 ACCEPT icmp -- any any anywhere anywhere
533K 58M logdrop all -- any any anywhere anywhere
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh flags:SYN,RST,ACK/SYN
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ftp flags:SYN,RST,ACK/SYN
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ftp-data flags:SYN,RST,ACK/SYN
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh flags:SYN,RST,ACK/SYN
короче, тут уже видно, что все правила, добавленные командой -A в конец цепочки после logdrop - не работают - там по нулям пакетов
и как избавиться от этого логдропа не понятно. Просто вместо -A(dda) сделал -I(nsert)
правила внеслись в самое начало и все заработало
и как избавиться от этого логдропа не понятно.
"iptables -D INPUT -j logdrop"
э...
ну да, то есть теперь уже понятно, ну да ладно, выходит мы сделали то же самое, только с другого конца
а DROP-ы мы тоже оба удалили)))
#iptables -D INPUT -j DROP
...
#iptables -A INPUT -j DROP
Поставил Олеговскую прошивку, запустил dropbear и зашел на роутер с LAN.
Попробовал зайти на роутер с удаленного сервера - соотв через WAN.
Не получается.
К провайдеру подключен по PPTP. делаю tcpdump на ppp0 и вижу что пакеты SYN с удаленного сервера на порт 22 приходят, но SYN/ACK
в ответ нет.
Не могу понять причину. Конфиг iptables такой:
52.282.79.18 - адрес роутера на ppp0
10.4.71.180 - eth1 (WAN)
(кстати, у меня wl500w - 1wan, 4lan, а интерфейсов eth три - eth0,eth1,eth2 - кто к чему относится? почему не 5 или 2 ?)
[admin@WL-00212344D50F root]$ iptables -n -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 192.168.1.204 tcp dpt:11245
ACCEPT udp -- 0.0.0.0/0 192.168.1.204 udp dpt:11245
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID
TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x16/0x02 TCPMSS clamp to PMTU
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
DROP all -- 0.0.0.0/0 0.0.0.0/0
DROP all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate DNAT
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain MACS (0 references)
target prot opt source destination
Chain SECURITY (0 references)
target prot opt source destination
RETURN tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x16/0x02 limit: avg 1/sec burst 5
RETURN tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: avg 1/sec burst 5
RETURN udp -- 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
RETURN icmp -- 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
DROP all -- 0.0.0.0/0 0.0.0.0/0
Chain logaccept (0 references)
target prot opt source destination
LOG all -- 0.0.0.0/0 0.0.0.0/0 state NEW LOG flags 7 level 4 prefix `ACCEPT '
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain logdrop (0 references)
target prot opt source destination
LOG all -- 0.0.0.0/0 0.0.0.0/0 state NEW LOG flags 7 level 4 prefix `DROP '
DROP all -- 0.0.0.0/0 0.0.0.0/0
[dp@WL-00212344D50F root]$ iptables -t nat -n -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
VSERVER all -- 0.0.0.0/0 52.282.79.18
VSERVER all -- 0.0.0.0/0 10.4.71.180
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- !52.282.79.18 0.0.0.0/0
MASQUERADE all -- !10.4.71.180 0.0.0.0/0
MASQUERADE all -- 192.168.1.0/24 192.168.1.0/24
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain VSERVER (2 references)
target prot opt source destination
DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:11245 to:192.168.1.204:11245
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:11245 to:192.168.1.204:11245
[admin@WL-00212344D50F root]$
Причина - в фаерволле (iptables) это явно запрещено.
Для разрешения:
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
(кстати, у меня wl500w - 1wan, 4lan, а интерфейсов eth три - eth0,eth1,eth2 - кто к чему относится? почему не 5 или 2 ?)
Два проводных (LAN и WAN) и один беспроводной (Wi-Fi).
Интерфейсы: eth0 - LAN порты свитча, eth1 - WAN порт, eth2 - WiFi
Это для WL-500W : http://wl500g.info/showpost.php?p=89585 :)
А для WL-500gP : http://wl500g.info/showthread.php?t=20609 :cool:
Я все-таки не понял каким именно правилом это запрещено у меня.
ведь в цепочке INPUT написано что принималь как новые так и остальные
нормальные соединения.
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
а по поводу интерфейсов - не сходится чо-то с eth2 - у меня для wifi
есть br0 - который с адресом wifi-ным и я через него работаю, а eth2 пустой.
Я все-таки не понял каким именно правилом это запрещено у меня.
ведь в цепочке INPUT написано что принималь как новые так и остальные
нормальные соединения.
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state NEW
А вы выполните листинг с ключиком -v (также известен как --verbose) и тогда всё поймёте:
iptables -L -nv
а по поводу интерфейсов - не сходится чо-то с eth2 - у меня для wifi
есть br0 - который с адресом wifi-ным и я через него работаю, а eth2 пустой.
Всё сходится. А вот br0 - это мост (bridge), т.е. интерфейс, объединяющий несколько других интерфейсов, в данном случае, LAN и Wi-Fi (eth0 + eth2).
Ага, спасибо, понял, а то я думал что за странная ошибка - в цепочке INPUT два раза ACCEPT NEW прописан)
вот тут и понимание что такое br0 пригодилось)
Остался один вопрос - что такое цепочка SECURITY - может плохо искал
но не нашел ее в стандартных цепочках iptables. Это фича асуса?
каков ее сакральный смысл?
Остался один вопрос - что такое цепочка SECURITY - может плохо искал
но не нашел ее в стандартных цепочках iptables. Это фича асуса?
каков ее сакральный смысл?
Это фича прошивки. Эта цепочка задействуется, если включить "защиту от DoS" в веб-морде.
У меня также есть вопрос по iptables - надо разрешить ssh и ftp порты(21 и 22) из WAN. В iptables разбираться сил нету, буду благодарен за помощь. IP роутера - 192.168.10.50.
В данный момент выглядит вот так:
[admin@WL500gp session]$ iptables -L -nv
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
105 8619 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
177K 198M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
909 54540 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 state NEW
4436 338K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
841 26912 ACCEPT 2 -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4 udp dpt:!1900
0 0 SECURITY all -- vlan1 * 0.0.0.0/0 0.0.0.0/0 state NEW
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.10.50 tcp dpt:80
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 1557 packets, 80691 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4
34712 24M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1 40 DROP all -- !br0 vlan1 0.0.0.0/0 0.0.0.0/0
1971 134K SECURITY all -- !br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
1015 83260 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate DNAT
Chain OUTPUT (policy ACCEPT 133K packets, 12M bytes)
pkts bytes target prot opt in out source destination
Chain MACS (0 references)
pkts bytes target prot opt in out source destination
Chain SECURITY (2 references)
pkts bytes target prot opt in out source destination
422 20992 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x16/0x02 limit: avg 1/sec burst 5
0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x04 limit: avg 1/sec burst 5
593 62268 RETURN udp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
0 0 RETURN icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/sec burst 5
956 50588 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain logaccept (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW LOG flags 7 level 4 prefix `ACCEPT '
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain logdrop (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW LOG flags 7 level 4 prefix `DROP '
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
[admin@WL500gp session]$
Ну если "нету сил", то просто можете это сделать для нужного компа в Virtual Server в web-морде ... ;)
А если доступ нужен на роутер, то смотрите настройки ftp или уже вышеприведённый пример ... :)
У меня также есть вопрос по iptables - надо разрешить ssh и ftp порты(21 и 22) из WAN. В iptables разбираться сил нету, буду благодарен за помощь. IP роутера - 192.168.10.50.
Ну, ответ будет тот же, только порты поменяются (я предполагаю, что раз вам нужен ftp, то нужно открыть и порт 20 - ftp-data)
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp -m tcp --dport 20:22 --syn -j ACCEPT
Ну если "нету сил", то просто можете это сделать в Virtual Server в web-морде ... ;)
Virtual Server не открывает доступ к портам самого роутера, а только к портам устройств за роутером.
Virtual Server не открывает доступ к портам самого роутера, а только к портам устройств за роутером.
Это правильно ... :) Немного смутило указание ip-адреса ... Может аффтар имел в виду адрес компа, а не роутера ? ;)
Как из инета он будет заходить на локальный адрес без внешнего по dyndns ? Нужно точнее формулировать свои вопросы ... :D
З.Ы. Впрочем, судя по его постам, эти советы могут и не помочь ... :(
Это правильно ... :) Немного смутило указание ip-адреса ... Может аффтар имел в виду адрес компа, а не роутера ? ;)
Как из инета он будет заходить на локальный адрес без внешнего по dyndns ? Нужно точнее формулировать свои вопросы ... :D
Не, раз уж он упомянул "IP роутера", значит считаем, что заходить будет на роутер (мы ж не оракулы или телепаты, чтобы знать, что автору на самом деле нужно). Раз сказано "надо разрешить ... из WAN" - значит, будет из WAN. В крайнем случае, если внешнего адреса нет, сможет хотя бы из локалки провайдера зайти :)
Спс, помогло) Правда пришлось еще сперва iptables --flush сделать.
Поясню - 192.168.10.50 - локальный ИП роутера. Мне надо зайти именно на него, а не прокинуть порт на комп/ноут по ссш. Сказал просто для уточнения, что это не комп, а именно роутер по этому ипу сидит)
А заходить я на него буду по lerk.<>.org ))
ЗЫ. Этот(500гп в1) роутер такой хитрый, что стандартные методы чтения манов тут не работают - хотя бы при монтировании дисков он напрочь игнорирует fstab)) хз почему, но факт)
Спс, помогло) Правда пришлось еще сперва iptables --flush сделать.
А зачем flush? Должно и так работать.
P.S. Я не стал писать, т.к. это как бы само собой разумеется, но указанные строчки в большинстве случаев надо добавить в post-firewall, чтобы они применялись всегда, когда нужно.
Без него работать отказывалось напрочь.
PS. Про post-firewall и так ясно)
Без него работать отказывалось напрочь.
Но flush же убивает все правила. Фактически, вы этим действием отключаете фаерволл.
Угу. Ну я его очистил, потом ребунул роутер - он восстановил все правила, которые прописаны(плюс те, что я добавил).
Ну и еще вопрос - как запретить какому-то внутреннему IP получать информацию от определенного внешнего IP по любому из портов\протоколов?
PS. Ну и заодно не в тему вопрос - есть вообще софтинка для мониторинга кто и с кем по какому порту обменивается информацией?(типа как в аутпост фаерволле)
Ну и еще вопрос - как запретить какому-то внутреннему IP получать информацию от определенного внешнего IP по любому из портов\протоколов?
PS. Ну и заодно не в тему вопрос - есть вообще софтинка для мониторинга кто и с кем по какому порту обменивается информацией?(типа как в аутпост фаерволле)
Запретить, например, так
INT_IP='192.168.1.222'
EXT_IP='213.180.204.8'
iptables -I FORWARD 1 -s "$INT_IP" -d "$EXT_IP" -j DROP
iptables -I FORWARD 2 -s "$EXT_IP" -d "$INT_IP" -j DROP
По поводу софта для мониторинга - не слышал. Но из консоли можно получить информацию о текущих соединениях, выполнив "cat /proc/net/ip_conntrack". А следить за трафиком можно с помощью tcpdump.
Ну и наконец еще вопрос)
Нужно прокинуть внешний порт N на внутрений M на айпишник IP1 На tcp и udp траффик. Как?) Заранее спасибо.
PS. Виртуал сервер не хочу использовать, т.к. он требует ребута роутера, что чревато часовыми хэш проверками торрента, тогда как iptables подхватываются на лету.
Ну и наконец еще вопрос)
Нужно прокинуть внешний порт N на внутрений M на айпишник IP1 На tcp и udp траффик. Как?) Заранее спасибо.
PS. Виртуал сервер не хочу использовать, т.к. он требует ребута роутера, что чревато часовыми хэш проверками торрента, тогда как iptables подхватываются на лету.
Пусть
внешний порт N = 1234
внутренний порт M = 4321
айпишник IP1 = 192.168.1.223
Тогда
for proto in tcp udp ; do
iptables -t nat -A VSERVER -p "$proto" -m "$proto" --dport 1234 -j DNAT --to-destination 192.168.1.223:4321
done
А вообще, почитайте вводное руководство по iptables (http://www.opennet.ru/docs/RUS/iptables/), может, пригодится.
По поводу P.S. и перехеширования: выключайте/перезагружайте роутер правильно (http://wl500g.info/showthread.php?t=12806) и никто ничего перехешировать не будет. Всего-то нужно сочинить правильный pre-shutdown.
Проблема есть локальная сеть 192.168.1.0-255 нада запретить всем доступ к интернету кроме 4 человек и эти 4 нада ограничить по скорости если найдеться добрый человек и напишет мне эти злосчастные строчки я буду счастлив ! заранее спасибо ! извините за глупые просьбы
Play-Boy
29-09-2009, 17:26
У меня стоит рутер WL500gP v1, за ним стоит веб-сервер на отдельной железке.. с помощью правила:
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.5:80
все работает, но очень медленно (если из внешней сети смотреть)..
Если открывать фотогаллерею, (много мелких картинок), то некоторые из них вообще не загружаются.. изнутри сети таких проблем не возникает, так что сервер не при чем.
пример ссылки: http://www.faraon.lv/foto/showphotos.php?showgal=amrita.
Есть подозрение, что соединения "выстраиваются в очередь".. может где-то в рутере есть параметр, отвечающий за это?..
не исключено, что проблема может крыться в провайдере, но хотелось бы быть уверенным в своей железке :)
Защита от DoS даёт такой эффект.
Решил ограничить по времени доступ к инету с помощью правил iptables.
т.к. перекрывать все игровые порты смысла нету, решил зарезать все, а разрешать уже необходимые 80,21 и т.д.
Создают правило:
iptables -A FORWARD -s 192.168.1.6 -p tcp -j DROP
Закрывая все tcp соединения.
[admin@router root]$ iptables -A INPUT -s 192.168.1.6 -p tcp --sport 80 -j ACCEPT
[admin@router root]$ iptables -A INPUT -s 192.168.1.6 -p tcp --dport 80 -j ACCEPT
Хочу разрешить только 80 порт, но он все равно остаеться закрытым, что делают не так?
попробуй в обратном порядке :
Сначала дать доступ на порты и айпишники а следущем правилом закрыть всё....
Решил ограничить по времени доступ к инету с помощью правил iptables.
Руководство по iptables (Iptables Tutorial 1.1.19) (http://www.opennet.ru/docs/RUS/iptables/)
NikitaVs
28-10-2009, 21:42
На 192.168.1.1:8082 у меня прекрасно работает lighttpd. У меня есть статический IP (82.199.109.144). Я хочу, чтобы для всего интернета на http://82.199.109.144/ открывалось тоже, что и для меня 192.168.1.1:8082.
Я так понимаю, для этого нужно пробросить порт 80 на 8082. Как мне это сделать? Сейчас ничего не работает.
$ cat /usr/local/sbin/post-firewall
#!/bin/sh
iptables -t nat -A PREROUTING -i vlan1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8082
$ iptables --list -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
13 1574 DROP all -- any any anywhere anywhere state INVALID
3862 338K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
254 15240 ACCEPT all -- lo any anywhere anywhere state NEW
1660 524K ACCEPT all -- br0 any anywhere anywhere state NEW
0 0 ACCEPT udp -- any any anywhere anywhere udp spt:bootps dpt:bootpc
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ftp
0 0 DROP all -- any any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
13 688 ACCEPT all -- br0 br0 anywhere anywhere
0 0 DROP all -- any any anywhere anywhere state INVALID
1688 93128 TCPMSS tcp -- any any anywhere anywhere tcp flags:SYN,RST,ACK/SYN TCPMSS clamp to PMTU
103K 90M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 DROP all -- !br0 ppp0 anywhere anywhere
0 0 DROP all -- !br0 eth0 anywhere anywhere
1747 121K ACCEPT all -- br0 any anywhere anywhere
1567 188K ACCEPT all -- any any anywhere anywhere ctstate DNAT
Chain OUTPUT (policy ACCEPT 5486 packets, 948K bytes)
pkts bytes target prot opt in out source destination
Chain MACS (0 references)
pkts bytes target prot opt in out source destination
Chain SECURITY (0 references)
pkts bytes target prot opt in out source destination
0 0 RETURN tcp -- any any anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
0 0 RETURN tcp -- any any anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
0 0 RETURN udp -- any any anywhere anywhere limit: avg 5/sec burst 5
0 0 RETURN icmp -- any any anywhere anywhere limit: avg 5/sec burst 5
0 0 DROP all -- any any anywhere anywhere
Chain logaccept (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- any any anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
0 0 ACCEPT all -- any any anywhere anywhere
Chain logdrop (0 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- any any anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
0 0 DROP all -- any any anywhere anywhere
bigsmaleman
28-10-2009, 22:11
http://wl500g.info/showpost.php?p=128994&postcount=6
NikitaVs
28-10-2009, 23:14
Спасибо, но это мне не помогло.
Тут обсуждалась похожая проблема: http://wl500g.info/showpost.php?p=53300&postcount=3. Я попробовал код оттуда, поменяв лишь порт 82 на мой 8082.
#!/bin/sh
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp --dport 8082 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8082
iptables -A INPUT -j DROP
Это не помогло.
$ iptables --list PREROUTING -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
VSERVER all -- anywhere 82.199.109.144.iskratelecom.ru
NETMAP udp -- anywhere 82.199.109.144.iskratelecom.ruudp spt:6112 192.168.1.0/24
autofw tcp -- anywhere anywhere tcp dpt:50001 autofw tcp dpt:50001 to:50001
autofw udp -- anywhere anywhere udp dpt:50001 autofw udp dpt:50001 to:50001
DNAT tcp -- anywhere anywhere tcp dpt:www to:192.168.1.1:8082
Тут всё в порядке?
NikitaVs
29-10-2009, 09:39
Пол дня и пол ночи и теперь всё работает!
$ cat /usr/local/sbin/post-firewall
#!/bin/sh
# $1 = vlan1
# $2 = 192.168.1.1
iptables -t nat -I PREROUTING 1 -p tcp -d "$2" --dport 80 -j DNAT --to "$2":8082
iptables -t nat -D PREROUTING -i "$1" -p tcp --dport 80 -j DROP
iptables -t nat -I PREROUTING 2 -i "$1" -p tcp --dport 8082 -j DROP
iptables -I INPUT 1 -i "$1" -d "$2" -p tcp --syn --dport 8082 -j ACCEPT
Решение взято отсюда: http://wl500g.info/showpost.php?p=53309&postcount=5
Эмм... Зачем так сложно? если надо руками сделать то, что делается через Virtual server в веб-морде, то оно делается так:
iptables -t nat -A VSERVER -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.1:8082
А делать проброс на сам роутер или на какой-то другой комп в локальной сети, вроде как не критично. По крайней мере у меня работает :-)
NikitaVs
29-10-2009, 14:19
allion, так у меня не работает почему-то.
1. Допустим, необходимо выполнить
iptables -A FORWARD -d 10.3.0.0/24 -m state –state ESTABLISHED,RELATED -j ACCEPT
Критерий -m state не поддерживается ядром? Или как-то можно это дело включить?
firmware 1.9.2.7-10
2. А репозитарий то у нас обновляется? Там лежит openssl - 0.9.7m-5.
А то, например, http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
Каким ядром? А попробовать?
З.Ы. В версиях прошивок от Олега и 1.9.2.7-d от энтузиастов, работает "из коробки".
1. Допустим, необходимо выполнить
iptables -A FORWARD -d 10.3.0.0/24 -m state –state ESTABLISHED,RELATED -j ACCEPT
Или как-то можно это дело включить? Так параметры надо правильно давать:
iptables -A FORWARD -d 10.3.0.0/24 -m state -–state ESTABLISHED,RELATED -j ACCEPT ;)
Так параметры надо правильно давать:
iptables -A FORWARD -d 10.3.0.0/24 -m state -–state ESTABLISHED,RELATED -j ACCEPT
Нет, правильно будет так
iptables -A FORWARD -d 10.3.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
Всё-таки, дефис и символ, похожий на дефис, являются для компьютера разными.
Ви не поверите, но там два ОДИНАКОВЫХ символа с '-' (минус) имеющих код 0x2D. Почему они ВЫГЛЯДЯТ по разному, мне не ведомо :cool:
Ви не поверите, но там два ОДИНАКОВЫХ символа с '-' (минус) имеющих код 0x2D. Почему они ВЫГЛЯДЯТ по разному, мне не ведомо :cool:
Да, не поверю, ибо это неправда:
$ echo 'iptables -A FORWARD -d 10.3.0.0/24 -m state -–state ESTABLISHED,RELATED -j ACCEPT' | hexdump -vC
00000000 69 70 74 61 62 6c 65 73 20 2d 41 20 46 4f 52 57 |iptables -A FORW|
00000010 41 52 44 20 2d 64 20 31 30 2e 33 2e 30 2e 30 2f |ARD -d 10.3.0.0/|
00000020 32 34 20 2d 6d 20 73 74 61 74 65 20 2d e2 80 93 |24 -m state -...|
00000030 73 74 61 74 65 20 45 53 54 41 42 4c 49 53 48 45 |state ESTABLISHE|
00000040 44 2c 52 45 4c 41 54 45 44 20 2d 6a 20 41 43 43 |D,RELATED -j ACC|
00000050 45 50 54 0a |EPT.|
00000054
Да, не поверю, ибо это неправда: И действительно :eek:
Я проверял аналогично под виндой, там этот 0xE2 сам сконвертировался в 0x2D, зараза :o
Ну значит у автора было две ошибки, т.к. этот символ у него в исходном посте сидит, я только нормальный минус добавил :D
Благодарю вас всех. Приму на вооружение просмотр в hex-режиме.
А нельзя ли как-нибудь добавить подстветку по символам, например, зеленым выделять пробелы 20 ? Просто так удобнее анализировать, если что.
DarthSemafor
28-11-2009, 13:38
День добрый, дорогие форумчане!
Всю голову преломал, размышляя над проблемой, которая заключается в следующем:
есть такая связка
{интернет} > {wl500w(br0-192.168.0.1)} > {(192.168.0.2-eth1)локальный FTP - сервер(br0-192.168.1.1)} > (192.168.1.0/24)локалка
С доступом к локальному FTP - серверу никаких проблем нет, порт на роутере проброшен.
Какое правило прописать в iptables локального FTP-сервера , чтобы клиенты из локальной сети имели доступ к ftp-серверам в интернете?
P.S доступ к ftp-серверам в интернете с локального FTP- сервера есть
DarthSemafor
28-11-2009, 14:48
iptables -A FORWARD -i br0 -p tcp --source-port 21 --destination-port 21 -o eth1 -d ! 192.168.1.1 -j ACCEPT
не прокатывает
"Локальный FTP-сервер" - это, я так понимаю, не роутер. Т.е. вопрос не про роутер?
У вас на нём маскарадинг/снат включен?
Если вы ничего не запрещали, то доступ и так должен быть (с учётом п. 2). Так что показывайте текущие таблицы правил.
Также стоит упомянуть полезную команду modprobe nf_nat_ftp.
theMIROn
28-11-2009, 18:36
Также стоит упомянуть полезную команду modprobe nf_nat_ftp.
в оригинальных асусовских и всех на них основанных оно уже в ядре
DarthSemafor
28-11-2009, 18:54
"Локальный FTP-сервер" - это, я так понимаю, не роутер. Т.е. вопрос не про роутер?
У вас на нём маскарадинг/снат включен?
Если вы ничего не запрещали, то доступ и так должен быть (с учётом п. 2). Так что показывайте текущие таблицы правил.
Также стоит упомянуть полезную команду modprobe nf_nat_ftp.
1 - да, это отдельная железка
2 - включен снат
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.0.2
3 - правила iptables FTP-сервера
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o br0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
iptables --new-chain car1
iptables --insert OUTPUT 2 -p tcp --destination-port 21 -o eth1 --jump car1
iptables --append car1 -m limit --limit 15/sec --jump RETURN
iptables --append car1 --jump DROP
iptables -A INPUT -p TCP --syn --dport 21 -m recent --name proftpd --set
iptables -A INPUT -p TCP --syn --dport 21 -m recent --name proftpd --update --seconds 600 --hitcount 10 -j DROP
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.0.2
2 - включен снат
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.0.2
Эм, если внешний интерфейс - это eth1, то должно быть так:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2
3 - правила iptables FTP-сервера
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o br0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
iptables --new-chain car1
iptables --insert OUTPUT 2 -p tcp --destination-port 21 -o eth1 --jump car1
iptables --append car1 -m limit --limit 15/sec --jump RETURN
iptables --append car1 --jump DROP
iptables -A INPUT -p TCP --syn --dport 21 -m recent --name proftpd --set
iptables -A INPUT -p TCP --syn --dport 21 -m recent --name proftpd --update --seconds 600 --hitcount 10 -j DROP
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.0.2
У вас тут нет общих запрещающих правил, так что трафик должен проходить (если только политика FORWARD не установлена в DROP). Лучше взглянуть на результирующие таблицы:
iptables-save
Также стоит упомянуть полезную команду modprobe nf_nat_ftp.
в оригинальных асусовских и всех на них основанных оно уже в ядре
Я это написал, предполагая, что мы говорим не про роутер (и моё предположение подтвердилось).
DarthSemafor
28-11-2009, 19:38
Эм, если внешний интерфейс - это eth1, то должно быть так:
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.2
Урра! Заработало. Большое Вам человеческое спасибо, Power! :)
Доброе время суток.
Пришла в голову одна бредовая мысль, идея такова:
Есть удалённый сервак $ip_1 который слушает порт $port_1.
Есть wl-500w c белым ip $ip_2.
Возможно ли средствами iptables сделать так что бы когда я обращался бы на WAN интерфейс роутера к порту $port_2 он форвардил бы пакеты на $ip_1:$port_1 ?
Да, возможно.
и как всегда развёрнутый и абсолютно точный ответ от местных гуру!
и как всегда развёрнутый и абсолютно точный ответ от местных гуру!
Могу предложить еще пару:
man iptables (http://www.opennet.ru/cgi-bin/opennet/ks.cgi?mask=linux+postscript+ip+man+iptables)
iptables + port forwarding (http://www.google.ru/search?q=iptables+%2B+port+forwarding&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox)
Пробовал так + кидал правило в форвард и инпут, не работает :(
-A PREROUTING -d IPlocal -i eth1 -p udp -m udp --dport 27016 -j DNAT --to-destination IPkuda
Пробовал так + кидал правило в форвард и инпут, не работает :(
-A PREROUTING -d IPlocal -i eth1 -p udp -m udp --dport 27016 -j DNAT --to-destination IPkuda
Вам нужно такое:
iptables -t nat -A PREROUTING -d ExtIP -i eth1 -p udp -m udp --dport 27016 -j DNAT --to-destination IPkuda
iptables -I FORWARD -i eth1 -o eth1 -m state --state NEW -m conntrack --ctstate DNAT -j ACCEPT
где ExtIP - внешний адрес, а eth1 - внешний интерфейс (т.е. у вас нет никаких PPP).
Спасибо за это:
iptables -I FORWARD -i eth1 -o eth1 -m state --state NEW -m conntrack --ctstate DNAT -j ACCEPT
Не правильно цепочку FORWARD юзал.
alex7912
09-12-2009, 11:49
я жутко извиняюсь за вопрос про iptables, но не даются они мне никак.
В логах роутера каждые 5 мин
vsftpd[307]: [anonymous] FAIL LOGIN: Client "10.180.40.131"
это ftp-поиск обменной сети пытается ко мне зайти.
Хочу чтобы лог не "засорялся".
В post-firewall добавил
iptables -A INPUT -s 10.180.40.131 -j DROP
вижу в цепочке INPUT правило
0 0 DROP all -- * * 10.180.40.131 0.0.0.0/0
но в логе попытки соединения продолжаются.
Но ведь если я запретил IP, то так быть не должно?
Приведите результат выполнения команды
iptables -vnL INPUT
alex7912
09-12-2009, 12:25
Приведите результат выполнения команды
iptables -vnL INPUT
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpts:51777:51780
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:51777:51780
39434 2238K MACS all -- br0 * 0.0.0.0/0 0.0.0.0/0
31 4336 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
617K 78M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
386 23700 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 state NEW
1432 743K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:520
502 36188 ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0 state NEW
122 3664 ACCEPT 2 -- * * 0.0.0.0/0 224.0.0.0/4
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4 udp dpt:!1900
63 4611 SECURITY all -- ppp0 * 0.0.0.0/0 0.0.0.0/0 state NEW
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp spt:67 dpt:68
12 720 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 flags:0x17/0x02
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.1.1 tcp dpt:80
9 422 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- * * 10.180.40.131 0.0.0.0/0
Посмотрите на таблицу: ваше правило добавилось в конец, при чем выше стоит правило, которое срабатывает во всех случаях, т.е. до вашего правила ни один пакет не доходит.
вам нужно использовать iptables -I INPUT <номер правила, на который нужно вставить>
iptables -I INPUT -s 10.180.40.131 -j DROP
или
iptables -I INPUT 13 -s 10.180.40.131 -j DROP
alex7912
09-12-2009, 13:05
Basile
спасибо помогло
VladimirSh
18-12-2009, 05:58
Коллеги, доброго дня!
Умучался уже, настраивая iptables. И ведь настраивать раньше приходилось, может подзабыл чего..
Для начала хотелось бы, чтобы роутер (ASUS WL500GPv2) можно было снаружи пингануть. Перебрал все возможные варианты с цепочками INPUT и OUTPUT - нет пинга и все.
Роутер подключается к провайдеру по PPTP, т.о появляется вирт. интерфейс ppp0.
Для чистоты эксперимента убрал все существующие правила в цепочках посредством команд
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F PREROUTING -t nat
iptables -F POSTROUTING -t nat
Политики по умолчанию - отбрасывать пакеты:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
А далее пишу для icmp:
iptables -A INPUT -p icmp -i ppp0 -d <my_ext_ip> -j ACCEPT
iptables -A OUTPUT -p icmp -o ppp0 -s <my_ext_ip> -j ACCEPT
С учетом различных комбинация составленных правил, имею следующий вывод комады iptables с ключом L
[admin@Bentley sbin]$ iptables -L INPUT
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.1.0/24 anywhere
ACCEPT gre -- anywhere ppp-vpdn-85.158.51.108.yarnet.ru
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere ppp-vpdn-85.158.51.108.yarnet.ru
ACCEPT all -- localhost.localdomain anywhere
ACCEPT all -- Bentley anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- 192.168.2.2 192.168.2.1
ACCEPT icmp -- 85-113-200-155.ip.yaroslavl.ru ppp-vpdn-85.158.51.108.yarnet.ru
[admin@Bentley sbin]$ iptables -L OUTPUT
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- ppp-vpdn-85.158.51.108.yarnet.ru anywhere
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- 192.168.2.1 192.168.2.2
ACCEPT icmp -- ppp-vpdn-85.158.51.108.yarnet.ru 85-113-200-155.ip.yaroslavl.ru
[admin@Bentley sbin]$ iptables -L FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere 192.168.1.2
ACCEPT tcp -- 192.168.1.2 anywhere
ACCEPT tcp -- anywhere 192.168.1.2
ACCEPT tcp -- 192.168.1.2 anywhere
ACCEPT udp -- anywhere 192.168.1.2
ACCEPT udp -- 192.168.1.2 anywhere
ACCEPT udp -- anywhere 192.168.1.2
ACCEPT udp -- 192.168.1.2 anywhere
[admin@Bentley sbin]$ iptables -L PREROUTING -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere ppp-vpdn-85.158.51.108.yarnet.rutcp dpt:51234 to:192.168.1.2
DNAT udp -- anywhere ppp-vpdn-85.158.51.108.yarnet.ruudp dpt:51234 to:192.168.1.2
[admin@Bentley sbin]$ iptables -L POSTROUTING -t nat
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- anywhere anywhere to:85.158.51.108
SNAT udp -- anywhere anywhere to:85.158.51.108
Изнутри наружу пинг идет, снаружи не проходит...
Помогите пожалуйста разобраться.... Может для pptp и ppp должны быть какие-то особые настройки в iptables? Нужно лт для INPUT разрешать к примеру GRE?
Для начала хотелось бы, чтобы роутер (ASUS WL500GPv2) можно было снаружи пингануть.Достаточно одной команды:
iptables -I INPUT -p icmp -j ACCEPT
Во-первых, будет понятнее, если вы выполните эти команды
iptables -L -nv
iptables -L -nv -t nat
Во-вторых, будет легче читать, если вы результат их выполнения заключите в тег [CODE].
Коллеги, доброго дня!
Умучался уже, настраивая iptables. И ведь настраивать раньше приходилось, может подзабыл чего..
Для начала хотелось бы, чтобы роутер (ASUS WL500GPv2) можно было снаружи пингануть. Перебрал все возможные варианты с цепочками INPUT и OUTPUT - нет пинга и все.
Роутер подключается к провайдеру по PPTP, т.о появляется вирт. интерфейс ppp0.
Для чистоты эксперимента убрал все существующие правила в цепочках посредством команд
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F PREROUTING -t nat
iptables -F POSTROUTING -t nat
Политики по умолчанию - отбрасывать пакеты:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
А далее пишу для icmp:
iptables -A INPUT -p icmp -i ppp0 -d <my_ext_ip> -j ACCEPT
iptables -A OUTPUT -p icmp -o ppp0 -s <my_ext_ip> -j ACCEPT
С учетом различных комбинация составленных правил, имею следующий вывод комады iptables с ключом L
[admin@Bentley sbin]$ iptables -L INPUT
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.1.0/24 anywhere
ACCEPT gre -- anywhere ppp-vpdn-85.158.51.108.yarnet.ru
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere ppp-vpdn-85.158.51.108.yarnet.ru
ACCEPT all -- localhost.localdomain anywhere
ACCEPT all -- Bentley anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- 192.168.2.2 192.168.2.1
ACCEPT icmp -- 85-113-200-155.ip.yaroslavl.ru ppp-vpdn-85.158.51.108.yarnet.ru
[admin@Bentley sbin]$ iptables -L OUTPUT
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT icmp -- ppp-vpdn-85.158.51.108.yarnet.ru anywhere
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT icmp -- 192.168.2.1 192.168.2.2
ACCEPT icmp -- ppp-vpdn-85.158.51.108.yarnet.ru 85-113-200-155.ip.yaroslavl.ru
[admin@Bentley sbin]$ iptables -L FORWARD
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere 192.168.1.2
ACCEPT tcp -- 192.168.1.2 anywhere
ACCEPT tcp -- anywhere 192.168.1.2
ACCEPT tcp -- 192.168.1.2 anywhere
ACCEPT udp -- anywhere 192.168.1.2
ACCEPT udp -- 192.168.1.2 anywhere
ACCEPT udp -- anywhere 192.168.1.2
ACCEPT udp -- 192.168.1.2 anywhere
[admin@Bentley sbin]$ iptables -L PREROUTING -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere ppp-vpdn-85.158.51.108.yarnet.rutcp dpt:51234 to:192.168.1.2
DNAT udp -- anywhere ppp-vpdn-85.158.51.108.yarnet.ruudp dpt:51234 to:192.168.1.2
[admin@Bentley sbin]$ iptables -L POSTROUTING -t nat
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- anywhere anywhere to:85.158.51.108
SNAT udp -- anywhere anywhere to:85.158.51.108
Изнутри наружу пинг идет, снаружи не проходит...
Помогите пожалуйста разобраться.... Может для pptp и ppp должны быть какие-то особые настройки в iptables? Нужно лт для INPUT разрешать к примеру GRE?
А галочку в web интерфейсе в секции файрволда слабо поставить :)
WayF1nder
29-12-2009, 03:53
Решил сделать журналирование трафика через ulog-acctd на DIR-320. До этого завел fprobe + flow-capture, работает замечательно, логи парсятся на другой машине, но такая система не устраивает по ряду причин.
Итак, в репах был только пакет ulogd, но для его работы требуется БД, поэтому решил собрать ulog-acctd из исходников. Собралось, запустилось - висит в памяти, ждет логов от iptables.
Далее даю команду
iptables --append FORWARD -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthr
eshold 50 --ulog-prefix "FORWARD"
а оно мне
iptables v1.3.8: Unknown arg `--ulog-nlgroup'
Try `iptables -h' or 'iptables --help' for more information.
Опытным путем выяснилось, что оно ругается даже без параметров ULOG:
[root@erouter root]$ iptables -A FORWARD -j ULOG
iptables v1.3.8: Couldn't load target `ULOG':File not found
Try `iptables -h' or 'iptables --help' for more information.
Следовательно, как я понял, в iptables вообще нет поддержки ULOG.
Как быть? Быть может есть способ пересобрать iptables, или отправлять трафик в ulog-acctd каким-то другим способом?
Пробовал собрать последнюю версию iptables (v1.4.6), собирается вроде нормально, но после установки не работает.
WayF1nder
02-01-2010, 11:13
Поковырявшись выяснил, что для моей цели (для пересбора iptables) придется пересобирать прошивку самостоятельно. Собственно, по мануалу (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) все осилил, все собирается, вот только не пойму, где и на каком этапе можно указать параметры сборки отдельного пакета, в данном случае - iptables ? В тарболе iptables лежат все нужные модули, в т.ч. и ulog, но после сборки прошивки iptables опять оказывается без поддержки ulog.
WayF1nder
03-01-2010, 17:51
Со всем удалось разобраться самостоятельно. Сам спросил - сам отвечаю :) Распишу подробно, как и что делал, может кому пригодится.
Итак, как выяснилось, для работы ULOG не достаточно собрать iptables нужным образом, также необходимо собрать ядро с нужными параметрами.
Делается все опираясь на этот (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru) мануал с некоторыми дополнениями, а именно:
Выполняем все по мануалу до пункта 4.1. Мужду пунктами 4.1 и 4.2 нужно сделать две вещи:
1. открываем файл /whatever-you-want/broadcom/src/gateway/iptables/extensions/Makefile, самой первой незакомментированной строчкой там будет что-то вроде
PF_EXT_SLIB:=tcp udp mac standard state SNAT DNAT REDIRECT REJECT MASQUERADE TCPMSS LOG autofw mark MARK length limit tcpmss icmp TTL ttl TARPIT MIRROR connlimit conntrack connmark CONNMARK multiport CLASSIFY NETMAP time nth psd random quota TOS tos
Добавим сюда параметр ULOG, я это сделал сразу после параметра LOG, вот что получилось:
PF_EXT_SLIB:=tcp udp mac standard state SNAT DNAT REDIRECT REJECT MASQUERADE TCPMSS LOG ULOG autofw mark MARK length limit tcpmss icmp TTL ttl TARPIT MIRROR connlimit conntrack connmark CONNMARK multiport CLASSIFY NETMAP time nth psd random quota TOS tos
2. Переходим в директорию /whatever-you-want/broadcom/src/linux/linux-2.4.37.7 и запускаем конфигуратор ядра:
make menuconfig
Через псевдо-графическое меню добираемся до пункта
Networking Options ->
IP: Netfilter Configuration ->
и включаем опцию ULOG target support
(я выбрал статически (*), но можно, наверное, и динамически в виде модуля (M)).
Жмем несколько раз Exit для выхода, и в конце, когда оно предлагает сохранить конфигурацию, соглашаемся (Yes).
Все, далее все выполняем по мануалу, т.е. начиная с пункта 4.2 и до конца, и на выходе получаем прошивку с полностью рабочим ULOG'ом.
Элементарно ;)
После праздников, когда появится Леонид, я думаю имеет смысл попросить его в теме про прошивку энтузиастов добавить в основную ветку сборку этой штуки в виде внешнего модуля. Я думаю возражений быть не должно (т.к. собирается и работает ;) )
theMIROn
03-01-2010, 19:16
К после-праздникам добавим внешним модулем
Спасибо за проверку работоспособности
WayF1nder
04-01-2010, 04:20
Буду рад :)
theMIROn
04-01-2010, 17:56
Вошло в r1023 (http://code.google.com/p/wl500g/source/detail?r=1023).
WayF1nder
05-01-2010, 06:39
Спасибо!
Возможно глупый вопрос: а когда обновится версия на главной странице проекта на гуглокоде? А то там до сих пор лежит 1.9.2.7-d-r1000
Пытался использовать аналогичную конструкцию для формирования своего рода прокси к аське.
iptables -I INPUT -p tcp --dport 5190 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 5190 -j DNAT --to 64.12.202.116:5190
iptables -t nat -I POSTROUTING -p tcp --dst 64.12.202.116 --dport 5190 -j MASQUERADE
Не работает...:(
sauron093
19-02-2010, 09:27
Пытался использовать аналогичную конструкцию для формирования своего рода прокси к аське.
для аськи поставьте 3proxy и будет вам счастье ;)
Периодически раз в несколько дней падает инет (вероятно у провайдера).
После переподнятия сессии pppoe, вероятно таблица обновленная стартовым скриптом - возвращается к дефолтным настройкам.
Как не дергая крон, без лишних проверок, заставлять при переподключениях обновлять и iptables??? (Или сохранить в nvram??? Хотя бы на примере порта 80).
Периодически раз в несколько дней падает инет (вероятно у провайдера).
После переподнятия сессии pppoe, вероятно таблица обновленная стартовым скриптом - возвращается к дефолтным настройкам.
Как не дергая крон, без лишних проверок, заставлять при переподключениях обновлять и iptables??? (Или сохранить в nvram??? Хотя бы на примере порта 80).
А вы, собственно, как их меняете? Правильный способ - загнать все команды в скрипт /usr/local/sbin/post-firewall.
А вы, собственно, как их меняете? Правильный способ - загнать все команды в скрипт /usr/local/sbin/post-firewall.
Большое спасибо. Я по дурости сделал стартовый скрипт S99iptables в папке /opt/etc/init.d/ :-)
Который естественно запускался из post-mount :-D
FilimoniC
11-04-2010, 21:08
Прошу помощи разобраться с iptables.
Ситуация:
. OpenVPN-соединение между роутером ASUS и внешним сервером SERVER
. Роутер является клиентом
Требуется:
. Иметь доступ с SERVER на компьютеры в локальной сети, что за ASUS.
Что имеется уже:
С сервера можно присоединиться к самому роутеру:
filimonov@serverx:~$ ping 172.20.3.1
PING 172.20.3.1 (172.20.3.1) 56(84) bytes of data.
64 bytes from 172.20.3.1: icmp_seq=1 ttl=64 time=251 ms
64 bytes from 172.20.3.1: icmp_seq=2 ttl=64 time=15.6 ms
64 bytes from 172.20.3.1: icmp_seq=3 ttl=64 time=15.2 ms
filimonov@serverx:~$ sudo tracert 172.20.3.1
traceroute to 172.20.3.1 (172.20.3.1), 30 hops max, 40 byte packets
1 172.20.3.1 (172.20.3.1) 15.881 ms 29.723 ms 29.816 ms
filimonov@serverx:~$ sudo telnet 172.20.3.1 5190 (там SSH)
Trying 172.20.3.1...
Connected to 172.20.3.1.
Escape character is '^]'.
SSH-2.0-dropbear_0.50
Таблица маршрутов на SERVERX
filimonov@serverx:~$ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.0.2.1 * 255.255.255.255 UH 0 0 0 venet0
10.0.0.2 * 255.255.255.255 UH 0 0 0 tun0
10.0.0.0 10.0.0.2 255.255.255.0 UG 0 0 0 tun0
172.20.3.0 10.0.0.2 255.255.255.0 UG 0 0 0 tun0
default 192.0.2.1 0.0.0.0 UG 0 0 0 venet0
Прошу помощи!
johnnykor
12-04-2010, 15:29
Есть роутер с dual access
интерфейс с инетом ppp0 c внешним IP
в сети NAT поднят VPN сервер
Надо сделать так чтобы к нему можно было подключаться при обращении на вшенний IP
Насколько я себе представляю надо прокинуть порт tcp 1723 для VPN порт udp 500 для авторизации vpn и gre
Но мало того надо еще и как то реализовать нормальные ответы VPN сервера...
Вобщем очень надеюсь что общими силами этот вопрос получится решить..
А то перерыл уже кучу мануалов по линуксу и настройке iptables но своим умом так и не смог дойти до того как победить эту проблему
пока у меня есть правила только вот такие
iptables -t nat -i ppp0 -I PREROUTING -p tcp --dport 1723 -j DNAT --to 192.168.1.3:1723
iptables -I FORWARD -p tcp -d 192.168.1.3 --dport 1723 -j ACCEPT
iptables -t nat -i ppp0 -I PREROUTING -p 47 -j DNAT --to 192.168.1.3
iptables -I FORWARD -p 47 -d 192.168.1.3 -j ACCEPT
iptables -t nat -i ppp0 -I PREROUTING -p udp --dport 500 -j DNAT --to 192.168.1.3:500
iptables -I FORWARD -p udp -d 192.168.1.3 --dport 500 -j ACCEPT
но есть подозрение, что они тоже не правильные.. всеравно ничего не работает :-)
Для авторизации ничего перенаправлять не надо. Как я понял есть pptp сервер, для него достаточно через веб интерфейс роутера перенаправить порт 1723. Во всяком случае у меня работает именно так.
johnnykor
13-04-2010, 08:45
все бы ничего если бы только не одно но...
у меня dd-wrt а у них мертвый форум..
iptables ведь всем нужен.. вот я и обратился сюда.
alex2010
14-04-2010, 13:29
Подcскажите, плз, как добавить модуль?
Timuchin
24-06-2010, 09:20
простите за некропост, но это вроде как единственная тема про Iptables.
стоит задача ограничить внешний доступ к железке.
с внешнего адреса (известного) получить доступ к веб интерфейсу модема,
веб интерфейсу торрента и естественно SSH извне с любого адреса.
все остальные доступы перекрыть.
доступ изнутри наружу оставить открытым.
я в настройке Iptables совсем чайник. не судите строго.
пока что у меня тока 2 строчки...
iptables -I INPUT -s (адрес внешнего источника) -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 51778 -j ACCEPT
ssh открыт вроде как, стоит ли перекрывать телнет?
заранее спасибо за советы.
Timuchin
24-06-2010, 12:38
внес изменения
iptables -I INPUT -s (адрес внешнего источника) -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j DROP
при запросе извне выводит дефолтную страничку lighttpd типа:
Основные программы при установке с форматированием ("Джентельменский" набор): --- итд...
и перекрывается доступ извне с разрешенного адреса на веб интерфейсы торрента, и тд.
где я накосячил?
простите за некропост, но это вроде как единственная тема про Iptables.
стоит задача ограничить внешний доступ к железке.
с внешнего адреса (известного) получить доступ к веб интерфейсу модема,
веб интерфейсу торрента и естественно SSH извне с любого адреса.
все остальные доступы перекрыть.
доступ изнутри наружу оставить открытым.
я в настройке Iptables совсем чайник. не судите строго.
пока что у меня тока 2 строчки...
iptables -I INPUT -s (адрес внешнего источника) -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 51778 -j ACCEPT
ssh открыт вроде как, стоит ли перекрывать телнет?
заранее спасибо за советы.
Вам нужно что-то вроде
iptables -P INPUT DROP
iptables -D INPUT -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s адрес_внешнего_источника -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -s адрес_внешнего_источника -p tcp -m tcp --dport 8080 -j ACCEPT
Всем привет!
Не понимаю, чем
iptables -t mangle -A PREROUTING -s 192.168.0.2 -j MARK --set-mark 1
ip rule add fwmark 1 table 1
отличается от
ip rule add from 192.168.02 table 1
?
первое не работает, второе работает.
в table 1 - одна строчка, заворот трафика на определенный интерфейс.
Еще не понимаю, почему если сделать
iptables -t mangle -A PREROUTING -d 192.168.0.2 -j LOG --log-prefix "mangle: "
iptables -t nat -A PREROUTING -d 192.168.0.2 -j LOG --log-prefix "nat: "
и попытаться с 192.168.0.2 выйти на какой либо сайт, то в логах видны только пакеты (ответы сайта) из таблицы mangle, до nat они не доходят такое ощущение, как это может быть, не понимаю.
Если же из интернета попробовать зайти на 192.168.0.2 - видно и mangle и nat.
Вообще изначально задача была такая - есть 2 интерфейса, ppp0 и ppp1. default gw - ppp1. Надо чтобы 192.168.0.2 был доступен по 80у порту по ppp0
Всем привет.
asus wl520gu, прошивка от энтузиастов.
[root@WL-485B39175DEB root]$ ip rule list
0: from all lookup local
32764: from 192.168.0.2 lookup 2
32765: from all fwmark 1 lookup 1
32766: from all lookup main
32767: from all lookup 253
[root@WL-485B39175DEB root]$ ip route list table 1
default dev ppp0 scope link
[root@WL-485B39175DEB root]$ ip route list table 2
default dev ppp0 scope link
[root@WL-485B39175DEB root]$ iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
MARK all -- 192.168.0.2 anywhere MARK set 0x1
... (остальное в mangle пусто)
В этом случае все работает как надо, все ходят по умолчанию через ppp1, а 192.168.0.2 ходит через ppp0
но стоит убрать из ip rule строчку from 192.168.0.2 lookup 2, как 192.168.0.2 вообще перестает ходить в интренет.
ставил в "ip route table 2" перенаправление на другой интерфейс (не ppp0 или ppp1) и смотрел, есть ли там что-то от 192.168.0.2 - нету
Система - роутер asus wl520gu
почему меня не устраивает первый вариант, когда прописано from 192.168.0.2 - потому что я хочу чтобы 192.168.0.2 ходил в интернет через ppp1, а вот то, что идет с его 80го порта - шло через ppp0. Но сделать это, если заставить работать iproute2 только по fwmark - 5 секунд.
AndreyPopov
13-07-2010, 13:37
вы задачу как-то задом-наперед описываете!!!
что значит "все что с его 80-го порта"?????
вы хотите, чтобы к вашему Web серверу, который находится на 80-м порту 192.168.0.2 обращались через интерфейс ppp0 ????
так?
Всем привет.
Вы еще третью тему создайте по этой проблеме.
Будете продолжать - поедете во "Флудильню".
вы задачу как-то задом-наперед описываете!!!
что значит "все что с его 80-го порта"?????
вы хотите, чтобы к вашему Web серверу, который находится на 80-м порту 192.168.0.2 обращались через интерфейс ppp0 ????
так?
Да. Это и хочу. Но и хочу понять почему не работает в том варианте, который я описал
vectorm приношу извинения, реально голова уже кругом от этого :(
Может быть кто-то сталкивался с такой проблемой?
Исходные:
1. Роутер 1 RT-N16 (прошивка 1.9.2.7-rtn-r1764) IP 172.XX.XX.2 работает как основной.
2. Роутер 2 WL500gpV2 (OpenWRT Backfire в режиме bridged client) IP 172.XX.XX.100- на нем поднят IPSEC c удаленной внутренней сетью 192.168.XX.0. IPSEC направляет пакеты в домашнюю сеть 172.XX.XX.0/24.
3. Чтобы направить пакеты с роутера 1 на IPSEC использую
route add -net 192.168.XX.0 netmask 255.255.255.0 gw 172.XX.XX.100
4. Все работает, но понимаю, что это не правильно и нужно прописать а iptables
Вопрос: Как, чтобы не на один IP а на всю сеть 192.168.XX.0?
Комрады, помогите, весь мозг сломал уже.
Задача: по адресу ххх.ххх.ххх.ххх стоит и работает SSH сервер на порту tcp3033.
Роутер WL500gpv2 с прошивкой 1.9.2.7-d-r1445 и внешним адресом ууу.ууу.ууу.ууу.
С роутера делаю телнет - все ок.
[root@router root]$ telnet ххх.ххх.ххх.ххх 3033
SSH-2.0-1.2.2 VShell
но с компьютера в локалке работающего по wifi с адресом 192.168.1.101 - телнет не проходит.
смотрим iptables:
Chain PREROUTING (policy ACCEPT 8134 packets, 815K bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT udp -- any any ххх.ххх.ххх.ххх anywhere udp dpt:https to:72.14.203.188:5228
0 0 DNAT tcp -- any any ххх.ххх.ххх.ххх anywhere tcp dpt:https to:72.14.203.188:5228
7200 765K VSERVER all -- any any anywhere ууу.ууу.ууу.ууу
Chain POSTROUTING (policy ACCEPT 13069 packets, 886K bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT udp -- any any anywhere tx-in-f188.1e100.net udp dpt:5228 to:ууу.ууу.ууу.ууу
0 0 SNAT tcp -- any any anywhere tx-in-f188.1e100.net tcp dpt:5228 to:ууу.ууу.ууу.ууу
692 33216 MASQUERADE all -- any vlan1 !ууу.ууу.ууу.ууу anywhere
14 3112 SNAT all -- any br0 192.168.1.0/24 192.168.1.0/24 to:192.168.1.1
Chain OUTPUT (policy ACCEPT 13087 packets, 889K bytes)
pkts bytes target prot opt in out source destination
Chain VSERVER (1 references)
pkts bytes target prot opt in out source destination
0 0 DNAT udp -- any any anywhere anywhere udp dpt:3478 to:192.168.1.199:3478
0 0 DNAT udp -- any any anywhere anywhere udp dpt:3479 to:192.168.1.199:3479
0 0 DNAT udp -- any any anywhere anywhere udp dpt:3658 to:192.168.1.199:3658
и цепочка Forward
Chain FORWARD (policy ACCEPT 711 packets, 34128 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT udp -- any any ххх.ххх.ххх.ххх anywhere udp dpt:5228
0 0 ACCEPT tcp -- any any ххх.ххх.ххх.ххх anywhere tcp dpt:5228
0 0 ACCEPT all -- br0 br0 anywhere anywhere
0 0 DROP all -- any any anywhere anywhere state INVALID
72542 65M ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
0 0 DROP all -- !br0 vlan1 anywhere anywhere
0 0 ACCEPT all -- any any anywhere anywhere ctstate DNAT
0 0 DROP all -- any br0 anywhere anywhere
Что не так? Почему не работает с машины из локалки? Как я понимаю ведь соединение приходит с 192.168.1.101, маскарадится на выходе и дальше успешно маскарадится и проходит Forward со статусом Established. Но почему же не работает в итоге? При том у меня впечатление что соединение даже устанавливается, но пакеты назад не приходят...
ну неужели ни у кого идей нету где собака могла порыться? уже весь мозг расплавлен.. :(
Spartach
18-08-2010, 07:18
Подскажите, пожалуйста, как реализовать роутинг в зависимости от сервиса?
На роутере опубликованы службы (SSH, Web-морда управления, PPTP сервер), сам роутер устанавливает PPTP подключение к другой сети, соответственно 2 маршрута по умолчанию через vlan1 и через ppp0, причем метрика 0 у ppp0.
Как заставить роутер при обращении к нему на определенные порты отвечать через шлюз на vlan1 а не через ppp0?
Нашел такое решение, но будет ли оно работать на наших роутерах?
_http://www.linux.org.ru/forum/admin/443040;jsessionid=A5E451EB947FD96BD8BDB61C76966D68 #comment-443774
Может быть кто-то сталкивался с такой задачей, или просто имеет мысли по данному вопросу?
Virtuals
18-08-2010, 11:39
смотреть в сторону VSERVER ;)
попробуй в разделе
NAT Setting - Virtual Server
добавить проброс,
а далее глянуть
Status & Log - Diagnostic Information
:) думаю просветление наступит! 100%
вот для примера попробовал
Chain VSERVER (1 references)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8887 to:192.168.200.7:8887
Spartach
18-08-2010, 11:50
Не совсем понял, к сожалению...
Мне проброс как таковой не нужен.
Есть роутер, WAN смотрит в инет со статикой + поднимается PPTP в другую сеть.
На роутере открыты порты SSH, WEB морда управления, и запущен POPTOP.
Пока PPTP не поднялось, из инета доступны все указанные порты.
Как только поднимается PPTP, так шлюзом с метрикой 0 становится ppp0, соответственно при обращении к роутеру на его "родной" внешний статический IP порты не доступны, т.к. роутер отвечает через шлюз PPTP.
Если я добавляю статический маршрут, чтобы на второй (с которого осуществляю доступ) IP пакеты продолжали ходить через шлюз vlan1 а не ppp0, то все отлично, но это не красиво, т.к. доступ может понадобится из разных мест.
От сюдя единственное на мой взгляд решение, заставить роутер при обращении к нему на определенный перечень портов отвечать через шлюз vlan1 а не ppp0.
Virtuals
18-08-2010, 13:18
хм чет мне это напоминает.....
а точно
рус VPN
дуал PPTP
короче инет на Русский манер, локал без впн и инет с впн. ;) вопрос неоднократно подымался, и решение найдено. чуток поиском по форуму пройдись :)
Spartach
18-08-2010, 13:33
Все бы ни чего, если бы MAN не был инетом... :-)
Конечно же маршруты для подсети сделал бы и все.
Но тут загвоздка в том что MAN это инет, и маршрутизить нужно на основании порта. Как раз в первом посте сыль дал, там нечто подобное реализовано. Но должен быть патч на iptables.
А есть он или нет в наших роутерах и можно ли его прикрутить понятия не имею :-) По этому и инетересуюсь, может есть у кого опыт?
Все бы ни чего, если бы MAN не был инетом... :-)
Конечно же маршруты для подсети сделал бы и все.
Но тут загвоздка в том что MAN это инет, и маршрутизить нужно на основании порта. Как раз в первом посте сыль дал, там нечто подобное реализовано. Но должен быть патч на iptables.
А есть он или нет в наших роутерах и можно ли его прикрутить понятия не имею :-) По этому и инетересуюсь, может есть у кого опыт?
наверное нужно смотреть в сторону iptables MARK... метить пакеты в зависимости от интерфейса, более точно к сожалению не подскажу, в shorewall (что в свою очередь транслируется в iptables) это делается легко, правда нужно уточнить, работает ли здесь маркировка пакетов.
Spartach
19-08-2010, 19:47
Да, тоже решил что туда смотреть нужно, но опять проблема...
Эксперимент ставлю над портом SSH (22).
Делаю так:
#создаю маршрут через нужный GW в таблице 200.
ip route add default via xx.xx.xx.xx table 200
#добавляю правило маркирования исходящих пакетов с роутера с 22 порта.
iptables -t mangle -A PREROUTING -p tcp -s 10.76.0.1 --sport 22 -j MARK --set-mark 1
#добавляю правило для выбора таблицы маршрутов для маркированных пакетов.
ip rule add fwmark 1 table 200
ip route flush cache
Не работает.
Делаю все то-же самое для другого внутреннего IP, работает.
Пробовал играть с IP роутера, и 127.0.0.1 и имя роутера пробовал, не хочет. В чем может быть косяк?
Да, тоже решил что туда смотреть нужно, но опять проблема...
Эксперимент ставлю над портом SSH (22).
Делаю так:
#создаю маршрут через нужный GW в таблице 200.
ip route add default via xx.xx.xx.xx table 200
#добавляю правило маркирования исходящих пакетов с роутера с 22 порта.
iptables -t mangle -A PREROUTING -p tcp -s 10.76.0.1 --sport 22 -j MARK --set-mark 1
#добавляю правило для выбора таблицы маршрутов для маркированных пакетов.
ip rule add fwmark 1 table 200
ip route flush cache
Не работает.
Делаю все то-же самое для другого внутреннего IP, работает.
Пробовал играть с IP роутера, и 127.0.0.1 и имя роутера пробовал, не хочет. В чем может быть косяк?
Я тут подумал, возможно все проще, у вас что есть wan? и еще покажите файл опций pptp соединения с другим офисом (без логина пароля и адреса :))
Spartach
20-08-2010, 18:41
WAN - статический IP.
+ PPTP
noauth refuse-eap
user 'xxxx'
password 'xxxx'
plugin pptp.so
pptp_server xxx.server.ru
nomppe-stateful +mppe-128 mtu 1400
maxfail 0
persist
ipcp-accept-remote ipcp-accept-local noipdefault
ktune
default-asyncmap nopcomp noaccomp
novj nobsdcomp nodeflate
lcp-echo-interval 10
lcp-echo-failure 6
unit 0
PS: весь трафик из локалки должен уходить в ppp0.
похоже, что нужна поддержка CONNMARK в ядре и iptables, ядро, в свою очередь, нужно 2.6, может кто поправит меня?
Spartach
22-08-2010, 20:51
Методом чтения доки на iptables нашел решение :-)
Напишу, мало-ли кому пригодится...
#Создаю таблицу маршрутизайии, где xxx.xxx.xxx.xxx - необходимый gw.
ip route add default via xxx.xxx.xxx.xxx table 200
#Правило маркировки пакетов, красить любой пакет уходящий с роутера с адресом отправителя yyy.yyy.yyy.yyy (принадлежит интерфейсу с которого нужно отвечать, т.е. на который пришел запрос).
iptables -t mangle -A OUTPUT -s yyy.yyy.yyy.yyy -j MARK --set-mark 1
#Применять таблицу маршрутизации для крашеных пакетов.
ip rule add fwmark 1 table 200
ip route flush cache
Можно сделать для определенных портов, но в своем случае решил весь трафик пустить.
Тему можно закрывать.
Господа имеется роутер с asus wl500w с прошиковой от олега 1.9.2.7-10.
Подскажите пожалуйста как сделать так чтобы правила созданные в коммандной строке через iptable (а не через web интерфейс) сохранялись после перезагрузки роутера.
Lupo_Alberto
14-10-2010, 15:41
Поместить (http://oleg.wl500g.info/#postfw) их в файл /usr/local/sbin/post-firewall.
Всем привет,
Имеем прошивку от энтузиастов. Необходимо компьютерам в локальной сети разрешить отправку почты только через один smtp сервер. Подключения к остальным зарезать.
Возможно ли это как-то красиво вписать в существующие правила.
Подозреваю, что раз транзитный трафик разруливать все надо в цепочке FORWARD. Вывод iptables -nvL FORWARD в дефолте:
Chain FORWARD (policy ACCEPT 76044 packets, 4682K bytes)
pkts bytes target prot opt in out source destination
6423 2499K ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
0 0 logdrop all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.0/4
48033 2616K TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
2811K 2306M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 logdrop all -- !br0 ppp0 0.0.0.0/0 0.0.0.0/0
0 0 logdrop all -- !br0 vlan1 0.0.0.0/0 0.0.0.0/0
580 33272 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate DNAT
0 0 logdrop all -- * br0 0.0.0.0/0 0.0.0.0/0
Пока мои изысканию привели к таким правилам
LAN=br0
iptables -I FORWARD -p TCP -i $LAN -d 0/0 --dport 25 -j DROP
iptables -I FORWARD -p TCP -i $LAN -d $SMTP2 --dport 25 -j ACCEPT
iptables -I FORWARD -p TCP -i $LAN -d $SMTP1 --dport 25 -j ACCEPT
В таком варианте не работает.
Может кто-то сталкивался и подскажет как реализовать или направит в нужное русло
Заранее спасибо
2 levgen:
Имеем прошивку от энтузиастов. Необходимо компьютерам в локальной сети разрешить отправку почты только через один smtp сервер. Подключения к остальным зарезать.
По приведенному коду smtp-серверов два - $SMTP1 и $SMTP2.
Правила в цепочках выполняются последовательно, поэтому правило номер раз тут:
LAN=br0
iptables -I FORWARD -p TCP -i $LAN -d 0/0 --dport 25 -j DROP
iptables -I FORWARD -p TCP -i $LAN -d $SMTP2 --dport 25 -j ACCEPT
iptables -I FORWARD -p TCP -i $LAN -d $SMTP1 --dport 25 -j ACCEPT
не дает выполниться правилам 2 и 3. Перенеси его в конец и должно заработать :)
Порядок самих правил менял. и в начало -I и в конец -A цепочки пробовал. результат нулевой
Оно либо режется на этом правиле:
iptables -I FORWARD -p TCP -i br0 -d 0/0 --dport 25 -j DROP
либо все пропускается.
видимо не сильно эти правила вписываются в default policy
Если это правило:
iptables -I FORWARD -p TCP -i br0 -d 0/0 --dport 25 -j DROP
стоит первым, то оно режет всё остальное по 25-му порту, т.к. destination у него - ВСЕ.
Покажи вывод команды iptables -nvxL FORWARD после применения твоих правил.
PS кстати, кроме 25-го порта есть еще 465 (SMTP поверх SSL) и 587 (e-mail message submission (SMTP))
Подскажите как в iptables сделать логирование по срабатыванию определенного правила, например доступ по порту 22? Как само правило прописать я думаю соображу, вопрос больше по параметрам лога (я так понял он может быть разной степени подробности) и самое главное я не могу понять куда будет сохранятся лог?
Подскажите как в iptables сделать логирование по срабатыванию определенного правила, например доступ по порту 22? Как само правило прописать я думаю соображу, вопрос больше по параметрам лога (я так понял он может быть разной степени подробности) и самое главное я не могу понять куда будет сохранятся лог?
Вот тут почитай (http://ftp.bspu.unibel.by/pub/NetWorks/Internet/firewall/IPtables.pdf). А пишется вроде в log/kernel/info и в log/messages
featZima
11-02-2011, 00:39
Сейчас маркирую пакеты с помощью цепочки правил в Iptables, но так как компьютеров в сети много, то и правил много... Можно ли сократить это как-нибудь до одного правила?
Например так
iptables -t mangle -A labels_in -j MARK --set-mark @srcip
Пример того, что сейчас происходит:
*mangle
:PREROUTING ACCEPT [61197570:39908422354]
:INPUT ACCEPT [1574141:975304771]
:FORWARD ACCEPT [59262832:38892196704]
:OUTPUT ACCEPT [759365:97242599]
:POSTROUTING ACCEPT [60017173:38989130939]
:labels_in - [0:0]
:labels_out - [0:0]
-A PREROUTING -s 192.168.1.0/24 -j labels_out
-A POSTROUTING -d 192.168.1.0/24 -j labels_in
-A labels_in -d 192.168.1.4/32 -j MARK --set-mark 0x68
-A labels_in -d 192.168.1.5/32 -j MARK --set-mark 0x69
-A labels_in -d 192.168.1.6/32 -j MARK --set-mark 0x6a
-A labels_in -d 192.168.1.7/32 -j MARK --set-mark 0x6b
-A labels_in -d 192.168.1.8/32 -j MARK --set-mark 0x6c
-A labels_in -d 192.168.1.9/32 -j MARK --set-mark 0x6d
-A labels_in -d 192.168.1.10/32 -j MARK --set-mark 0x6e
-A labels_in -d 192.168.1.11/32 -j MARK --set-mark 0x6f
-A labels_in -d 192.168.1.12/32 -j MARK --set-mark 0x70
-A labels_in -d 192.168.1.13/32 -j MARK --set-mark 0x71
-A labels_in -d 192.168.1.14/32 -j MARK --set-mark 0x72
-A labels_in -d 192.168.1.15/32 -j MARK --set-mark 0x73
-A labels_in -d 192.168.1.16/32 -j MARK --set-mark 0x74
-A labels_in -d 192.168.1.17/32 -j MARK --set-mark 0x75
-A labels_in -d 192.168.1.18/32 -j MARK --set-mark 0x76
-A labels_in -d 192.168.1.19/32 -j MARK --set-mark 0x77
-A labels_in -d 192.168.1.20/32 -j MARK --set-mark 0x78
-A labels_in -d 192.168.1.21/32 -j MARK --set-mark 0x79
-A labels_in -d 192.168.1.22/32 -j MARK --set-mark 0x7a
-A labels_in -d 192.168.1.23/32 -j MARK --set-mark 0x7b
-A labels_in -d 192.168.1.24/32 -j MARK --set-mark 0x7c
-A labels_in -d 192.168.1.25/32 -j MARK --set-mark 0x7d
-A labels_in -j RETURN
-A labels_out -s 192.168.1.4/32 -j MARK --set-mark 0xcc
-A labels_out -s 192.168.1.5/32 -j MARK --set-mark 0xcd
-A labels_out -s 192.168.1.6/32 -j MARK --set-mark 0xce
-A labels_out -s 192.168.1.7/32 -j MARK --set-mark 0xcf
-A labels_out -s 192.168.1.8/32 -j MARK --set-mark 0xd0
-A labels_out -s 192.168.1.9/32 -j MARK --set-mark 0xd1
-A labels_out -s 192.168.1.10/32 -j MARK --set-mark 0xd2
-A labels_out -s 192.168.1.11/32 -j MARK --set-mark 0xd3
-A labels_out -s 192.168.1.12/32 -j MARK --set-mark 0xd4
-A labels_out -s 192.168.1.13/32 -j MARK --set-mark 0xd5
-A labels_out -s 192.168.1.14/32 -j MARK --set-mark 0xd6
-A labels_out -s 192.168.1.15/32 -j MARK --set-mark 0xd7
-A labels_out -s 192.168.1.16/32 -j MARK --set-mark 0xd8
-A labels_out -s 192.168.1.17/32 -j MARK --set-mark 0xd9
-A labels_out -s 192.168.1.18/32 -j MARK --set-mark 0xda
-A labels_out -s 192.168.1.19/32 -j MARK --set-mark 0xdb
-A labels_out -s 192.168.1.20/32 -j MARK --set-mark 0xdc
-A labels_out -s 192.168.1.21/32 -j MARK --set-mark 0xdd
-A labels_out -s 192.168.1.22/32 -j MARK --set-mark 0xde
-A labels_out -s 192.168.1.23/32 -j MARK --set-mark 0xdf
-A labels_out -s 192.168.1.24/32 -j MARK --set-mark 0xe0
-A labels_out -s 192.168.1.25/32 -j MARK --set-mark 0xe1
-A labels_out -j RETURN
COMMIT
featZima
11-02-2011, 13:55
А можно ли как-нибудь добавить фильтр flow в iptables ?
>$ tc filter add dev ppp1 ip parent 1: prio 1 flow hash keys nfct-src devisor 1024
Unknown filter "flow", hence option "hash" is unparsable
Ruslan-G.
28-02-2011, 18:35
Не получается добавить правило для iptables
[admin@WL-90E6BA51D379 root]$ iptables -A SECURITY -m length --length 878 -j DROP
iptables: No chain/target/match by that name
Как я понимаю, нет нужного мне модуля -m length
Вопросы:
Как убедится, что модуля действительно нет?
Если его нет, как установить?
P.S.
[admin@WL-90E6BA51D379 root]$ uname -a
Linux WL-90E6BA51D379 2.4.37.10 #1 2010-11-26 21:53:28 MSK mips GNU/Linux
Да и ещё, прошивка Олега, что-то вроде последней или предпоследней. Но дело думаю не в этом.
Заранее спасибо
Привет всем! Купил asus rt n16 , залил прошику Энтузиастов 1.9.2.7-rtn-r2274 . Подключил сеть , работает. Но нигде не могу найти интструкцию по настройке фаервола. В частности , в каком формате прописывать диаппазоны айпи адресов и портов. Кто знает , киньте ссылку плз.
Привет всем! Купил asus rt n16 , залил прошику Энтузиастов 1.9.2.7-rtn-r2274 . Подключил сеть , работает. Но нигде не могу найти интструкцию по настройке фаервола. В частности , в каком формате прописывать диаппазоны айпи адресов и портов. Кто знает , киньте ссылку плз.
1024:1028 - как пример проброса портов с 1024 по 1028, Делается все в NAT Setting/Virtual Server
Привет всем! Купил asus rt n16 , залил прошику Энтузиастов 1.9.2.7-rtn-r2274 . Подключил сеть , работает. Но нигде не могу найти интструкцию по настройке фаервола. В частности , в каком формате прописывать диаппазоны айпи адресов и портов. Кто знает , киньте ссылку плз.
Как и любой файрволл на линуксе http://www.opennet.ru/docs/RUS/iptables/
Не подскажете как через IPTables на роутере "перенаправить" пакеты с порта 1234 на порт 22 (ssh) - то есть в PUTTY прописываем порт назначения 1234, а попадаем на 22 который и слушает dropbear по умолчанию.
В общем наваял такое:
iptables -t nat -A PREROUTING -p tcp--dport 1234 -j REDIRECT --to-port 22
CattheBlack
02-03-2011, 09:42
Не нашел поиском, если было такое, прошу простить.
Помогите настроить post-firewall.
Нужно запретить доступ к IP 192.168.111.250 со всех IP после 64-го. Нижеприведенный код не работает. Где я облажался?
#!/bin/sh
iptables -A FORWARD -s 192.168.111.0/26 -d 192.168.111.250 -j ACCEPT
iptables -A FORWARD -d 192.168.111.0/26 -s 192.168.111.250 -j ACCEPT
iptables -A FORWARD -s 192.168.111.0/24 -d 192.168.111.250 -j REJECT
iptables -A FORWARD -s 192.168.111.250 -d 192.168.111.0/24 -j REJECT
С таким пост-файрволлом к 250-му имеют доступ все (он подключен через роутер).
Как и любой файрволл на линуксе http://www.opennet.ru/docs/RUS/iptables/
Если бы я еще и Линукс знал, мне бы цены не было:)
А конкретнее, как указать диаппазон адресов с 192.168.1.11 по 192.168.1.55, и как указать диаппазон 213.23.12.0 с маской 255.255.0.0 ?
Как указать диаппазон портов?
Как указываются Любые адреса и Любые порты?
Правила применяются согласно порядку в таблице или порядок не имеет значения?
andrew_newman
02-03-2011, 10:21
Погугли команды linux iptables
Погугли команды linux iptables
А на счет очередности применения правил? Надо думать будет совет - Погугли "Очередность применения правил" :)
И как прописывать Любой IP и Любой Порт ?
Может кто знает прошивку специально адаптированную на файевол? Например чтобы можно было собирать Айпи адреса в группы.
А на счет очередности применения правил? Надо думать будет совет - Погугли "Очередность применения правил" :)
И как прописывать Любой IP и Любой Порт ?
Может кто знает прошивку специально адаптированную на файевол? Например чтобы можно было собирать Айпи адреса в группы.
По ссылке что я дал написаны ответы на ВСЕ ваши вопросы... Если лень изучать предмет, то зачем задаваться вопросом как это сделать...
Правила применяются в том порядке как они идут ...
Например:
1) Мне нужно решение моей проблемы ...
2) Блин мне не дают готового решения и заставляют вникать во всякую фигню ...
3) Я не захотел вникать.
В данном случае правила будут работать так:
1) Ситуация пока не подходит под правило (раз в конце не стоит отбросить пакет проверяем дальше по цепочке)
2) Так и не подходит правило, действуем как в пункте 1.
3) Так и не нашли правило которое подходит к пакету ... Идем как в цепочке по умолчанию принято ...
По ссылке что я дал написаны ответы на ВСЕ ваши вопросы... Если лень изучать предмет, то зачем задаваться вопросом как это сделать...
Мне не лень, обычно настройка файервола разовая процедура, настроил и забыл, зачем же тратить кучу времени на разовые процедуры. Ведь ответ на мои вопросы займет пару строк, а мы уже 2 дня переписываемся и ответа прямого я так и не получил. Сюда ведь приходят и за помощью в том числе. Почему бы просто не написать человеку что формат должен быть такой-то , а Любой адрес надо написать так-то.
Сорри , наверное меня не так поняли, меня интересуют только настройки файервола доступные из веб интерфейса.
CattheBlack
03-03-2011, 10:34
Не нашел поиском, если было такое, прошу простить.
Помогите настроить post-firewall.
Нужно запретить доступ к IP 192.168.111.250 со всех IP после 64-го. Нижеприведенный код не работает. Где я облажался?
#!/bin/sh
iptables -A FORWARD -s 192.168.111.0/26 -d 192.168.111.250 -j ACCEPT
iptables -A FORWARD -d 192.168.111.0/26 -s 192.168.111.250 -j ACCEPT
iptables -A FORWARD -s 192.168.111.0/24 -d 192.168.111.250 -j REJECT
iptables -A FORWARD -s 192.168.111.250 -d 192.168.111.0/24 -j REJECT
С таким пост-файрволлом к 250-му имеют доступ все (он подключен через роутер).
Ну хоть нафиг пошлите :)
ConstAntz
03-03-2011, 12:22
Ну хоть нафиг пошлите :) легко :)
#!/bin/sh
iptables -I FORWARD -s 192.168.111.0/24 -d 192.168.111.250 -j REJECT
iptables -I FORWARD -s 192.168.111.250 -d 192.168.111.0/24 -j REJECT
iptables -I FORWARD -s 192.168.111.0/26 -d 192.168.111.250 -j ACCEPT
iptables -I FORWARD -d 192.168.111.0/26 -s 192.168.111.250 -j ACCEPT
ключ -A добавляет правило к таблице, но увы пакет не доходит до этого правила - срабатывают вышестоящие (iptables -nvxL)
ситуация...
нужно пробросить с интерфейса vpn порт на интерфейс wan (внешная локалка провайдера)
если не сложно подскажите синтаксис правила
CattheBlack
04-03-2011, 09:07
легко :)
#!/bin/sh
iptables -I FORWARD -s 192.168.111.0/24 -d 192.168.111.250 -j REJECT
iptables -I FORWARD -s 192.168.111.250 -d 192.168.111.0/24 -j REJECT
iptables -I FORWARD -s 192.168.111.0/26 -d 192.168.111.250 -j ACCEPT
iptables -I FORWARD -d 192.168.111.0/26 -s 192.168.111.250 -j ACCEPT
ключ -A добавляет правило к таблице, но увы пакет не доходит до этого правила - срабатывают вышестоящие (iptables -nvxL)
К сожалению, не помогло.
Трафик, гуляющий по локальной сети, вообще не просматривается файволлом? Дело в том, что сеть имеет весьма специфическую структуру:
На роутере поднят DHCP, а IP 250 присвоен модему. Из-за особенностей роутера и модема (роутер не видится модемом в упор) не получается подключить его, как WAN, поэтому он подключен к роутеру, как один из участников внутренней локалки. При этом в DHCP прописан шлюз с IP 250. И разрешенные IP выдаются только ограниченному кругу компов. Всем IP больше 64 надо закрыть доступ к 250-му IP.
Возможно, я сильно сглупил, оставив режим работы роутера Home Gateway, надо было поставить Router, и тогда правила заработают для локального трафика?
Роутер - N16.
Помогите, пожалуйста!
К сожалению, не помогло. И не могло помочь.
Трафик, гуляющий по локальной сети, вообще не просматривается файволлом? Естественно, он обрабатывается СВИЧЕМ и до ПО вообще не доходит ;)
Дело в том, что сеть имеет весьма специфическую структуру:
На роутере поднят DHCP, а IP 250 присвоен модему. Из-за особенностей роутера и модема (роутер не видится модемом в упор) не получается подключить его, как WAN, поэтому он подключен к роутеру, как один из участников внутренней локалки. Это просто не правильное подключение.
Возможно, я сильно сглупил, оставив режим работы роутера Home Gateway, надо было поставить Router, и тогда правила заработают для локального трафика? Нет, тогда вообще WANа не будет, а будет только свич ;)
Что бы трафик проходил, через ПО, надо выносить порт с модемом в отдельный vlan, по другому никак.
Народ, подскажите плиз...
По дурости/невнимательности в post-firewall заDROPил всю цепочку INPUT. Естесственно теперь на роутер попасть не могу никаким способом((
Как лучше исправить свою глупость?)
В принципе есть возможность подрубить внешний винт от роутера к компу и там есть скрипт в /opt/etc/init.d который стартует торрент. Я пробовал в него вставлять такое:
cp /usr/local/sbin/post-firewall /tmp/harddisk/torrent
echo "#!/bin/bash" > /usr/local/sbin/post-firewall
(потом комит изменений без ребута)
Оказалось что ничего не скопировалось на внешний винт, а значит и post-firewall не перезаписался((
Может iptables - F INPUT прокатит (если запихнуть в скрипт запуска торрента)? Сброс в дефолт уж очень не хочется делать
Может iptables - F INPUT прокатит (если запихнуть в скрипт запуска торрента)? Сброс в дефолт уж очень не хочется делать
Собственно вопрос снят. Прокатило)
Своим умом не могу дойти почему к shh не подключиться по wan.
ssh висит на 1987 порту, по lan подключается.
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:1987
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTAB LISHED
ACCEPT all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere state NEW
SECURITY all -- anywhere anywhere state NEW
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt: bootpc
ACCEPT tcp -- anywhere anywhere tcp dpt:1987 flags: FIN,SYN,RST,ACK/SYN
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTAB LISHED
DROP all -- anywhere anywhere
SECURITY all -- anywhere anywhere state NEW
ACCEPT all -- anywhere anywhere ctstate DNAT
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain BRUTE (0 references)
target prot opt source destination
Chain MACS (0 references)
target prot opt source destination
Chain SECURITY (2 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,R ST,ACK/SYN limit: avg 1/sec burst 5
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,R ST,ACK/RST limit: avg 1/sec burst 5
RETURN udp -- anywhere anywhere limit: avg 5/sec bu rst 5
RETURN icmp -- anywhere anywhere limit: avg 5/sec bu rst 5
DROP all -- anywhere anywhere
Chain logaccept (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
ACCEPT all -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
DROP all -- anywhere anywhere
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
VSERVER all -- anywhere xxx
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- !xxx anywhere
MASQUERADE all -- 192.168.1.0/24 192.168.1.0/24
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain VSERVER (1 references)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:27015 to:192.168.1.3:27015
DNAT udp -- anywhere anywhere udp dpt:27015 to:192.168.1.3:27015
DNAT tcp -- anywhere anywhere tcp dpt:5999 to:192.168.1.3:5999
DNAT tcp -- anywhere anywhere tcp dpt:45710 to:192.168.1.1:45710
DNAT udp -- anywhere anywhere udp dpt:45710 to:192.168.1.1:45710
DNAT tcp -- anywhere anywhere tcp dpt:1988 to:192.168.1.3:1988
DNAT all -- anywhere anywhere to:192.168.1.5
tcp 0 0 0.0.0.0:1987 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 :::53 :::* LISTEN
Ни у кого нет идей?
Может IP "серый"?
Без логов можем только гадать.
Не хотите показывать логи - нам меньше заботы ;)
Ну почему же не хочу, хочу! Какие нужны логи, говорите выложу.
IP выделеный
Ну почему же не хочу, хочу! Какие нужны логи, говорите выложу.
IP выделеный
Лог роутера для начала.
System & Log - отсюда.
У Вас комп 192.168.1.5 в DMZ?
Если да, то на него все и сваливается.
DNAT all -- anywhere anywhere to:192.168.1.5
192.168.1.5 - это xbox
В приложенном логе роутер даже не загрузился до конца ...
Полностью.
Вот после 30 мин. добавилось только это.
Mar 10 21:41:26 ntp client: Synchronizing time with time.nist.gov...
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPDISCOVER(br0) 192.168.1.3 00:17:31:e3:1c:ef
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPOFFER(br0) 192.168.1.3 00:17:31:e3:1c:ef
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPREQUEST(br0) 192.168.1.3 00:17:31:e3:1c:ef
Полностью.
Вот после 30 мин. добавилось только это.
Mar 10 21:41:26 ntp client: Synchronizing time with time.nist.gov...
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPDISCOVER(br0) 192.168.1.3 00:17:31:e3:1c:ef
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPOFFER(br0) 192.168.1.3 00:17:31:e3:1c:ef
Mar 10 21:44:17 dnsmasq-dhcp[56]: DHCPREQUEST(br0) 192.168.1.3 00:17:31:e3:1c:ef
Х.З. ... iptables-save полный перечень правил ... в студию ...
# Generated by iptables-save v1.3.8 on Fri Mar 11 00:06:22 2011
*nat
:PREROUTING ACCEPT [34208:4778451]
:POSTROUTING ACCEPT [10136:544621]
:OUTPUT ACCEPT [267:19736]
:VSERVER - [0:0]
-A PREROUTING -d xxx -j VSERVER
-A POSTROUTING -s ! xxx -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o br0 -j MASQUERADE
-A VSERVER -p tcp -m tcp --dport 27015 -j DNAT --to-destination 192.168.1.3:27015
-A VSERVER -p udp -m udp --dport 27015 -j DNAT --to-destination 192.168.1.3:27015
-A VSERVER -p tcp -m tcp --dport 1988 -j DNAT --to-destination 192.168.1.3:1988
-A VSERVER -j DNAT --to-destination 192.168.1.5
COMMIT
# Completed on Fri Mar 11 00:06:22 2011
# Generated by iptables-save v1.3.8 on Fri Mar 11 00:06:22 2011
*mangle
:PREROUTING ACCEPT [964941:168782607]
:INPUT ACCEPT [34349:4144137]
:FORWARD ACCEPT [929608:163587326]
:OUTPUT ACCEPT [1882:899243]
:POSTROUTING ACCEPT [930706:164442353]
COMMIT
# Completed on Fri Mar 11 00:06:22 2011
# Generated by iptables-save v1.3.8 on Fri Mar 11 00:06:22 2011
*filter
:INPUT DROP [26636:2240454]
:FORWARD ACCEPT [1152:94283]
:OUTPUT ACCEPT [1858:897157]
:BRUTE - [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A INPUT -p tcp -m tcp --dport 1987 -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m state --state NEW -j ACCEPT
-A INPUT -i br0 -m state --state NEW -j ACCEPT
-A INPUT -i eth1 -m state --state NEW -j SECURITY
-A INPUT -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1987 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ! br0 -o eth1 -j DROP
-A FORWARD -i ! br0 -m state --state NEW -j SECURITY
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD -o br0 -j DROP
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
-A SECURITY -p udp -m limit --limit 5/sec -j RETURN
-A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
-A SECURITY -j DROP
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
COMMIT
# Completed on Fri Mar 11 00:06:22 2011
# Generated by iptables-save v1.3.8 on Fri Mar 11 00:06:22 2011
*nat
:PREROUTING ACCEPT [34208:4778451]
:POSTROUTING ACCEPT [10136:544621]
:OUTPUT ACCEPT [267:19736]
:VSERVER - [0:0]
-A PREROUTING -d xxx -j VSERVER
-A POSTROUTING -s ! xxx -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o br0 -j MASQUERADE
-A VSERVER -p tcp -m tcp --dport 27015 -j DNAT --to-destination 192.168.1.3:27015
-A VSERVER -p udp -m udp --dport 27015 -j DNAT --to-destination 192.168.1.3:27015
-A VSERVER -p tcp -m tcp --dport 1988 -j DNAT --to-destination 192.168.1.3:1988
-A VSERVER -j DNAT --to-destination 192.168.1.5
Как уже сказал vectorm все входящие пакеты входящие на "ххх" попадают в цепочку VSERVER и все что не попало в правила до:
-A VSERVER -j DNAT --to-destination 192.168.1.5
уходит по назначению ... Или удалите это правило или не противоречьте ему ...
Еще можно в веб-морде добавить переадресацию порта SSH на локальный адрес роутера
Спасибо, да действительно удалил в веб-морде правило
-A VSERVER -j DNAT --to-destination 192.168.1.5
и ssh заработал по wan.
А как добавить переадресацию порта SSH на локальный адрес роутера?
Спасибо, да действительно удалил в веб-морде правило
-A VSERVER -j DNAT --to-destination 192.168.1.5
и ssh заработал по wan.
А как добавить переадресацию порта SSH на локальный адрес роутера?
Как обычно... (VIRTUAL SERVER ...) добавляем переадресацию порта в веб-морде на адрес роутера (локальный 192.168.ххх.ххх).
Вставлю свои 5 копеек.
Обновляю раз в месяц RT-N16. Сейчас установлена 1.9.2.7-rtn-r2857.
Трудно сказать когда, но точно после 2011-02-06 23:25 (это дата последней моей правки /tmp/local/sbin/pre-boot), тогда точно все работало как положено.
Перестали грузиться модули. Вот что показывает modprobe:
[root@RT-N16 root]$ modprobe
modprobe: QM_MODULES: Function not implemented
modprobe: Nothing to load ???
Specify at least a module or a wildcard like \*
[root@RT-N16 root]$ modprobe -a
modprobe: QM_MODULES: Function not implemented
modprobe: Nothing to load ???
Specify at least a module or a wildcard like \*
И перезаписывал модули повторно, и обновлял прошивку - результат один. Криво, но работает iptables, перестали работать правила SSH BRUTE. По ним и обнаружил неладное.
Куда копать?
Вставлю свои 5 копеек.
Перестали грузиться модули. Вот что показывает modprobe:
[root@RT-N16 root]$ modprobe
modprobe: QM_MODULES: Function not implemented
Куда копать?
У вас каша в /opt, а конкретно - левый modprobe для ядра 2.4.
То же самое с iptables - версия из прошивки 1.4.3.2, все остальные не будут работать корректно.
У вас каша в /opt, а конкретно - левый modprobe для ядра 2.4. То же самое с iptables - версия из прошивки 1.4.3.2, все остальные не будут работать корректно.
[root@RT-N16 2.6.22.19]$ iptables -V
iptables v1.4.9, удалил. Теперь:
[root@RT-N16 root]$ iptables -I INPUT -i vlan2 -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 600 --hitcount 3 --name SSH_ATTACKER --rsource -j DROP
iptables v1.4.3.2: Couldn't load match `state':File not found
[root@RT-N16 2.6.22.19]$ ls -al /opt/lib/modules/2.6.22.19/modules.dep
-rw-r--r-- 1 root root 15860 2011-03-27 01:41 /opt/lib/modules/2.6.22.19/modules.dep
Все, что в modules.dep указывает на /opt/lib/modules/2.6.22.19/.
Версия modutils была 2.4:
insmod version 2.4.27
modprobe 2.4.27, удалил.
Раньше в pre-boot грузился xt_recent и iptables работали корректно.
Теперь:
[root@RT-N16 root]$ insmod /opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_recent.ko
insmod: can't insert '/opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_recent.ko': invalid module format
Куда копать?
iptables v1.4.3.2: Couldn't load match `state':File not found
Используете ночные сборки - потрудитесь почитать список изменений. См. r2792, r2793 - state заменён на conntrack
[root@RT-N16 root]$ insmod /opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_recent.ko
insmod: can't insert '/opt/lib/modules/2.6.22.19/kernel/net/netfilter/xt_recent.ko': invalid module format
Мне кажется, ошибка не нуждается в переводе, нет? :rolleyes:
P.S. Советую заглядывать иногда в /lib/modules/2.6.22.19/
Используете ночные сборки - потрудитесь почитать список изменений. См. r2792, r2793 - state заменён на conntrack
Ок, спасибо!
alexadmin
03-04-2011, 19:47
Года 3 назад настраивал nat в маршрутизаторе по той версии фака, которая существовала на тот момент. В частности в post-firewall у меня прописано:
# VPN
iptables -t nat -A PREROUTING -i ppp0 -p udp --dport 37000 -j DNAT --to-destination 192.168.0.8:37000
iptables -I FORWARD -i ppp0 -p tcp -m udp -d 192.168.0.8 --dport 37000 -j ACCEPT
iptables -I FORWARD -o ppp0 -p tcp -m udp -s 192.168.0.8 --sport 37000 -j ACCEPT
iptables -t nat -A POSTROUTING -p udp -o ppp0 -s 192.168.0.8 --sport 37000 -j MASQUERADE
Соответсвенно все, что приходит из интернетов на порт 37000 (динамический ip) форвардится на внутренний сервер.
Сейчас возникла задача, чтобы обращения из внутренней сети (192.168.0.0/24), отправленные на адрес внешнего интерфейса (ppp0, имеется привязка к доменному имени) форвардилась обратно на внутренний сервер 192.168.0.8. Т.е. чтобы обращения по доменному имени типа myip.dyndns.com одинаково работали как из интернета, так и из домашней сети.
Подскажите, как это делается? Что-то мне фантазии (и знаний по iptables) не хватает, особенно с учетом того, что внутри post-firewall я даже не знаю ip-адреса на ppp0.
Я точно помню, что в том старом факе был пример на этот счет, но, к сожалению, все поиски приводят на удаленную тему http://www.wl500g.info/showthread.php?t=4921 и несуществующую архивную http://wl500g.info/archive/index.php/t-5920.html
Железо WL500gp, прошивка последняя (?) от Олега: 1.9.2.7-10.
Буду весьма признателен за помощь.
extremal
05-04-2011, 07:14
Всем доброго дня!
Имею вышеозначенный девайс, накатил на него прошивку от Олега версии 1.9.2.7-d-r2624.
Не получается сохранить новые правила iptables. Гуглил долго, предлагали сохранять так iptables-save > <имя файла>. файл сохраняется, да, но после рестарта прибора правила остаются старыми, а файла сохраненного нет.
Вопрос к знающим людям: где лежит реальный файл с правилами iptables?
Чтобы его и поправить, в него сохранить новые правила.
Спасибо.
Файл post-firewall, лежащий тут: /tmp/local/sbin
При изменении не забывайте делать:
flashfs save && flashfs commit && flashfs enable && reboot
extremal
05-04-2011, 17:53
ykpacmb, спасибо за ответ, но не помогло. Файл, кстати, лежит в /tmp/ и называется filter_rules. добавляю новые правила, сохраняю iptables-save > /tmp/filter_rules, делаю flashfs save && flashfs commit && flashfs enable && reboot
и - все то же самое при загрузке: старые правила.
Что делать?
filter_rules генерится автоматом на основе данных из вебморды. Так что редактировать его бесполезно. Как было отмечено свои правила следует добавлять в /usr/local/sbin/post-firewall, желательно при этом ознакомиться с инструкцией по начальной настройке --- это снимет массу базовых вопросов.
extremal
05-04-2011, 18:33
Печально, но такой папки /usr/local/sbin/ нет вообще, при попытке сохранить post-firewall в другой каталог, например /tmp/etc/, он сохраняется, далее повторяю процедуру с командами flashfs - при загрузке получаю то же самое. Файла нет, правила старые. Насчет инструкции - подскажите, где взять.
Спасибо.
Печально, но такой папки /usr/local/sbin/ нет вообще, при попытке сохранить post-firewall в другой каталог, например /tmp/etc/, он сохраняется, далее повторяю процедуру с командами flashfs - при загрузке получаю то же самое. Файла нет, правила старые. Насчет инструкции - подскажите, где взять.
Спасибо.
А для кого темы прикрепляли??? http://wl500g.info/showthread.php?t=24854
extremal
05-04-2011, 18:49
Уважаемый tempik, на этом форуме я много перечитал инфы, пытаясь решить свою проблему - несложную, в общем-то. Но инфа эта мне не помогла, потому и запостил вопрос. Если есть что ответить по моей проблеме - пожалуйста, а тыкать в прикрепленные темы не нужно, я их читал.
Еще есть знающие люди, способные помочь?
Уважаемый tempik, на этом форуме я много перечитал инфы, пытаясь решить свою проблему - несложную, в общем-то. Но инфа эта мне не помогла, потому и запостил вопрос. Если есть что ответить по моей проблеме - пожалуйста, а тыкать в прикрепленные темы не нужно, я их читал.
Еще есть знающие люди, способные помочь?
http://wl500g.info/showthread.php?t=3171 Темы не зря закрепили и в них есть ссылки на все темы необходимые для начального понимания как эта прошивка работает ... Если бы вы их прочитали, то такие вопросы не возникали бы ... Хотите чтоб сделали все за вас наймите специалиста ....
ConstAntz
05-04-2011, 23:02
Уважаемый tempik, на этом форуме я много перечитал инфы, пытаясь решить свою проблему - несложную, в общем-то. Но инфа эта мне не помогла, потому и запостил вопрос. Если есть что ответить по моей проблеме - пожалуйста, а тыкать в прикрепленные темы не нужно, я их читал.
Еще есть знающие люди, способные помочь?
flashfs enable
ikuchmin
09-04-2011, 20:08
Здравствуйте очень спецфическая проблема, наблюдается на роутере dir-320
Ситуация следующая, имеется:
1. Локальная сеть с локальным ip предоставляемым провайдером.
2. Имеется статический ip в internet который предоставляется провайдером с применением pptp.
Мой действия:
1. Посылаю эхо запрос из локальной сети на роутер, все замечательно роутер отвечает.
2. Посылаю эхо запрос с внешнего ip на роутер, тишина роутер просто проглатывает трафик.
3. Стучимся по локальной сети на роутер на 22 порт проходим авторизацию, и шлем эхо на внешний компьютер используя pptp. Внешний компьютер отвечает.
Логично предположить что где-то в iptables есть DROP, идем туда и смотрим, ничего такого, никаких REJECT также не наблюдаем. Смотрим iproute по умолчанию маршрут направлен в ppp0.
4. Не думая лукаво, говорим iptables логировать трафик на выходе с NAT PREROUTING:
-A PREROUTING -j LOG --log-prefix "NPRE " --log-level 7
Шлем с внешнего компьютера эхо, видим пакеты, для большей уверенности что пакеты те самые, увеличиваем их размер до 128. Все видим.
5. Идем дальше вешаем логирование в MANGLE INPUT и MANGLE FORWARD:
-A INPUT -j LOG --log-prefix "MINP " --log-level 7
-A FORWARD -j LOG --log-prefix "MFORW " --log-level 7
Ничего нет :eek: . Куда они делись, ума не приложу.
Требуется иметь доступ к роутеру из внешней сети.
iptables-save:
# Generated by iptables-save v1.3.8 on Sat Apr 9 11:50:10 2011
*nat
:PREROUTING ACCEPT [143613:11711818]
:POSTROUTING ACCEPT [8755:523186]
:OUTPUT ACCEPT [7022:422728]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 80 -j DNAT --to-destination HOME_WS
-A PREROUTING -i vlan1 -p tcp -m tcp --dport 80 -j DNAT --to-destination HOME_WS
-A PREROUTING -j LOG --log-prefix "NPRE " --log-level 7
-A POSTROUTING -o ppp0 -j SNAT --to-source WAN_IP
-A POSTROUTING -o vlan1 -j SNAT --to-source LAN_IP
COMMIT
# Completed on Sat Apr 9 11:50:10 2011
# Generated by iptables-save v1.3.8 on Sat Apr 9 11:50:10 2011
*mangle
:PREROUTING ACCEPT [4348620:1117124629]
:INPUT ACCEPT [2535956:621071184]
:FORWARD ACCEPT [1715797:487287823]
:OUTPUT ACCEPT [2435077:643826133]
:POSTROUTING ACCEPT [4184554:1143679984]
-A INPUT -j LOG --log-prefix "MINP " --log-level 7
-A FORWARD -j LOG --log-prefix "MFORW " --log-level 7
COMMIT
# Completed on Sat Apr 9 11:50:10 2011
# Generated by iptables-save v1.3.8 on Sat Apr 9 11:50:10 2011
*filter
:INPUT ACCEPT [2179568:557947968]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2435076:643826056]
-A INPUT -i vlan1 -j ACCEPT
-A INPUT -i ppp0 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A INPUT -s 72.18.198.8 -i ppp0 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5900 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5222 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5269 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4222 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8100:8999 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5060 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i br0 -j ACCEPT
-A FORWARD -o br0 -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT
COMMIT
# Completed on Sat Apr 9 11:50:10 2011
Сдуру включил port trigering. Подскажите как его отключить не через веб а при подключении по telnet?
В какую цепочку правил попадает порт тригеринг?
Ожидал его удалить так
iptables -t nat -D PREROUTING 3
Но после этого только аська заработала.! а сайты так и не доступны.
Сейчас правила
$iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
VSERVER all -- anywhere 31.162.121.163
NETMAP udp -- anywhere 31.162.121.163 udp spt:6112 192.168.0.0/24
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
NETMAP udp -- 192.168.0.0/24 anywhere udp dpt:6112 31.162.121.163/32
MASQUERADE all -- !31.162.121.163 anywhere
MASQUERADE all -- 192.168.0.0/24 192.168.0.0/24
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain VSERVER (1 references)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:61924 to:192.168.0.20:61924
DNAT udp -- anywhere anywhere udp dpt:61924 to:192.168.0.20:61924
DNAT udp -- anywhere anywhere udp dpt:3658 to:192.168.0.102:3658
DNAT udp -- anywhere anywhere udp dpt:47946 to:192.168.0.199:47946
DNAT tcp -- anywhere anywhere tcp dpt:61925 to:192.168.0.4:61924
DNAT udp -- anywhere anywhere udp dpt:61925 to:192.168.0.4:61924
DNAT tcp -- anywhere anywhere tcp dpt:15376 to:192.168.0.3:15376
DNAT tcp -- anywhere anywhere tcp dpt:61926 to:192.168.0.193:61924
DNAT udp -- anywhere anywhere udp dpt:61926 to:192.168.0.193:61924
DNAT tcp -- anywhere anywhere tcp dpt:47370 to:192.168.0.101:47370
DNAT udp -- anywhere anywhere udp dpt:47370 to:192.168.0.101:47370
DNAT tcp -- anywhere anywhere tcp dpt:47946 to:192.168.0.199:47946
DNAT tcp -- anywhere anywhere tcp dpt:45885 to:192.168.0.1:45885
DNAT udp -- anywhere anywhere udp dpt:45885 to:192.168.0.1:45885
DNAT udp -- anywhere anywhere udp dpt:61439 to:192.168.0.123:61439
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
MACS all -- anywhere anywhere
logdrop all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
logaccept all -- anywhere anywhere state NEW
logaccept all -- anywhere anywhere state NEW
SECURITY all -- anywhere anywhere state NEW
logaccept udp -- anywhere anywhere udp spt:bootps dpt:bootpc
logdrop all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
MACS all -- anywhere anywhere
logaccept all -- anywhere anywhere
logdrop all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
logdrop all -- anywhere anywhere
logdrop all -- anywhere anywhere
SECURITY all -- anywhere anywhere state NEW
logaccept all -- anywhere anywhere ctstate DNAT
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain MACS (2 references)
target prot opt source destination
Chain SECURITY (2 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
RETURN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
RETURN udp -- anywhere anywhere limit: avg 5/sec burst 5
RETURN icmp -- anywhere anywhere limit: avg 5/sec burst 5
logdrop all -- anywhere anywhere
Chain logaccept (5 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `ACCEPT '
ACCEPT all -- anywhere anywhere
Chain logdrop (6 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW LOG level warning tcp-sequence tcp-options ip-options prefix `DROP '
DROP all -- anywhere anywhere
Братцы. Подсобите запретить нескольким компам из большого списка, получающим доступ к роутеру по вафле, выход в интернет серией сайтов(http и https) + внешний статический ftp + outlook на gmail. С роутера также настроен openVPN в сеть предприятия, к нему ограничений быть не должно.
Изучать IPTABLES сейчас нет времени, поэтому прошу шарящих помочь.
На сколько я понимаю, нужно весь трафик через br0 нужным компам закрутить в новую таблицу, а там запретить все, кроме нужного. Но вот знаний не хватает для реализации.
RT-N16, 1.9.2.7-rtn-r2274
Заранее благодарен.
Народ, а подскажите пожалуйста в каком файле содержатся настройки таблиц iptables (конкретно -t nat VSERVER) в прошивке 1.9.2.7-rtn-r2775 ?
Народ, а подскажите пожалуйста в каком файле содержатся настройки таблиц iptables (конкретно -t nat VSERVER) в прошивке 1.9.2.7-rtn-r2775 ?
nvram show | grep vts_
pppppppo_98
18-05-2011, 15:50
Перепрошился для версии указанной в сабже
Выполняю
iptables -I FORWARD 1 -p udp -o br0 -d 192.168.138.44 --dport 51413 -m state --state NEW -j ACCEPT
Отвечает
iptables v1.4.3.2: Couldn't load match `state':File not found
Какой модуль нужно подгрузить, чтобы постпроить фаервол с привычными опциями аля
-m state --state NEW
theMIROn
18-05-2011, 17:21
Перепрошился для версии указанной в сабже
Выполняю
iptables -I FORWARD 1 -p udp -o br0 -d 192.168.138.44 --dport 51413 -m state --state NEW -j ACCEPT
Отвечает
iptables v1.4.3.2: Couldn't load match `state':File not found
Какой модуль нужно подгрузить, чтобы постпроить фаервол с привычными опциями аля
-m state --state NEW
http://segfault.kiev.ua/smart-questions-ru.html#itsabug
http://code.google.com/p/wl500g/source/detail?r=2792
Какой модуль нужно подгрузить, чтобы постпроить фаервол с привычными опциями аля
-m state --state NEW
А чем Вас не устраивает "-m conntrack --ctstate NEW"? :)
Подскажите плиз товарищи-специалисты!
как на данной прошивке организовать следующую схему?
из одного офиса, где внешний ip 80.249.1.1 нужно подсоединиться по удаленному рабстолу (rdp) в другой офис (46.252.1.1), где собственно и стоит устройство с данной прошивкой
как сделать так чтобы доступ к rdp был только у 80.249.1.1
я пытался сделать через DMZ, но тогда можно заходить с любового ip
заранее спасибо
как сделать так чтобы доступ к rdp был только у 80.249.1.1
Поставить прошивку не ниже r2962 для d-ветки или r2963 для rtn-ветки. Или прописать правило для проброса в post-firewall (http://wiki.vectormm.net/index.php/%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D 1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5_%D1 %81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B):
iptables -t nat -A VSERVER -p tcp -m tcp -s 80.249.1.1 --dport 3389 -j DNAT --to-destination X.X.X.X:3389
Поставить прошивку не ниже r2962 для d-ветки или r2963 для rtn-ветки. Или прописать правило для проброса в post-firewall (http://wiki.vectormm.net/index.php/%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D 1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B5_%D1 %81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D1%8B):
iptables -t nat -A VSERVER -p tcp -m tcp -s 80.249.1.1 --dport 3389 -j DNAT --to-destination X.X.X.X:3389
а можно ли это сделать в вэб-интерфейсе??? и как?
а можно ли это сделать в вэб-интерфейсе???
Если хотите делать в веб-интерфейсе, то обновляйте прошивку. Тогда в настройках правил Virtual Server появится пункт Source IP. Куда и пропишите адрес 80.249.1.1
Всем привет ,вот добавил я например такое правило через консоль
iptables -t nat -A PREROUTING -s 192.168.1.2 -p tcp -m tcp -j DNAT --to-destination 192.168.1.1:82
Как его удалить не перегружая роутер , токо удальть надо так чтобы оно перестало исполнятся . Спасибо !!
Всем привет ,вот добавил я например такое правило через консоль
iptables -t nat -A PREROUTING -s 192.168.1.2 -p tcp -m tcp -j DNAT --to-destination 192.168.1.1:82
Как его удалить не перегружая роутер , токо удальть надо так чтобы оно перестало исполнятся . Спасибо !!
Блин! гугл совсем запретили??? Заменить ключ -A или -I на -D ...
Блин! гугл совсем запретили??? Заменить ключ -A или -I на -D ...
Да не не отменили , но чёто както не догнал , нашёл описание как удалять правило по его номеру в таблице ,а вот как узнать его номер то х.з. Может не там искал , а вам за подсказку огромное спасибо !!!
Да не не отменили , но чёто както не догнал , нашёл описание как удалять правило по его номеру в таблице ,а вот как узнать его номер то х.з. Может не там искал , а вам за подсказку огромное спасибо !!!
Не ма за шо :)
skuwakin
10-07-2011, 10:08
Доброго времени суток. Имеется ip-камера dlink-2102, подключенная к роутеру. Все прекрасно работает, как с писюка, так и со смарта но в локалке. Ест-но следующий шаг - это огранизация досупа снаружи. Но очень не хочется открывать порт на постоянно. Если бы в Putty на симбиан 9.3 (как в обычном виндовом putty) был реализован port forwarding, то никаких проблем не было бы, загнал бы все в ssh туннел(хотя там же еще и RTP надо пробрасывать).... ввобщем с тунелем пока полный облом.
Поэтому возникла мысль про порт триггер. Я где-то находил классное описание этой функции с реальным примером, а счас кинулся искать - обломс...
А задумка проста, заходим по в роутер, запускаем нечто, кторое пошлет что-нибудь на incommig port и тогда по теории должны отрыться порты снаружи (при соотв--ие настройки port trigger ест-но). А дальше уже стартовать снаружи обращение к самой ip-камере.
Сорри, если коряво изложил... Было бы очень интерресно послушать знающих людей про это... Заранее спасибо.
Поэтому возникла мысль про порт триггер. Я где-то находил классное описание этой функции с реальным примером, а счас кинулся искать - обломс...
А задумка проста, заходим по в роутер, запускаем нечто, кторое пошлет что-нибудь на incommig port и тогда по теории должны отрыться порты снаружи (при соотв--ие настройки port trigger ест-но). А дальше уже стартовать снаружи обращение к самой ip-камере.
Сорри, если коряво изложил... Было бы очень интерресно послушать знающих людей про это... Заранее спасибо.
Это называется "динамическое открытие порта по запросу".
Вам сюда (http://wiki.enchtex.info/howto/iptables/ssh-guard#%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D 0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D1%82%D0%BA%D1 %80%D1%8B%D1%82%D0%B8%D0%B5%D0%B7%D0%B0%D0%BA%D1%8 0%D1%8B%D1%82%D0%B8%D0%B5_ssh_%D0%BF%D0%BE%D1%80%D 1%82%D0%B0).
skuwakin
10-07-2011, 10:46
Это называется "динамическое открытие порта по запросу".
Вам сюда (http://wiki.enchtex.info/howto/iptables/ssh-guard#%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D 0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D1%82%D0%BA%D1 %80%D1%8B%D1%82%D0%B8%D0%B5%D0%B7%D0%B0%D0%BA%D1%8 0%D1%8B%D1%82%D0%B8%D0%B5_ssh_%D0%BF%D0%BE%D1%80%D 1%82%D0%B0).
Спасибо Вам БАААЛЬШОЕ! Похоже это "спасёт..." Сейчас бум разбираться...
-----------------------------------------------------------------------------------------
маленько разбираюсь... И начинаю понимать, что "динамический проброс" - это еще цветочки... А вот как быть с тем что RTP не имеет постоянного номера UDP порта. А UpP - это помоему не есть гут. Тем более что роутер у меня за ADSL модемом... И получется, что и на нем надо включать UpP... В общем пока просмотр с мабилки сильно осложняется...
Подскажите как закрыть 53 порт из интернета?
Правила не работают:
iptables -A INPUT -p udp -i ppp0 -d 53 -j REJECT
iptables -A INPUT -p tcp -i ppp0 -d 53 -j REJECT
theMIROn
27-07-2011, 20:37
Подскажите как закрыть 53 порт из интернета?
Правила не работают:
iptables -A INPUT -p udp -i ppp0 -d 53 -j REJECT
iptables -A INPUT -p tcp -i ppp0 -d 53 -j REJECT
они по умолчанию и так закрыты, если включен firewall в настройках.
они по умолчанию и так закрыты, если включен firewall в настройках.
Ну если бы были закрыты, я б не спрашивал. )
Сканирую:
$ nmap ***.no-ip.info
Starting Nmap 5.51 ( http://nmap.org ) at 2011-07-28 01:48 YEKT
Nmap scan report for ***.no-ip.info (**.**.228.67)
Host is up (0.031s latency).
rDNS record for **.**.228.67:
Not shown: 997 closed ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds
theMIROn
27-07-2011, 20:49
Ну если бы были закрыты, я б не спрашивал.
сканируется извне или из локалки - внешний адрес?
Сканирую с локалки внешний адрес (*.no-ip.com).
Сканирую с локалки внешний адрес (*.no-ip.com).
ТАк ты снаружи для приличия посканируй ))
С наружи 53 - closed.
Но как сделать что бы вообще не видно порт было.
С наружи 53 - closed.
Но как сделать что бы вообще не видно порт было.
Если нужна безопасность, делаете например полное сканировние с помощью Xspider, последней демо версии, в режиме сканирования всех портов, и спите спокойно, если параною потешить, рубите кабель, топориком, ибо любое куда-либо подключенное устройство потенциально небезопасно ))
theMIROn
29-07-2011, 11:54
С наружи 53 - closed.
Но как сделать что бы вообще не видно порт было.
А зачем? Он же уже closed.
Оставим так, спасибо. Почему нельзя сканировать с локалки. Сканируется же внешний адрес, плюс через DDns.
theMIROn
30-07-2011, 15:00
Почему нельзя сканировать с локалки. Сканируется же внешний адресТак из локалки же.
djserg-minyar
05-09-2011, 05:44
Все привет, необходимо организовать задачу по блокировке доступа к IP адресам локальной сети
Схема сети
Inet-----------Router1(192.168.1.1)---------------router2(192.168.2.0/24)
____________local net1(192.168.1.2-255)________local net1(192.168.2.2-255)
требуется ограничить доступ из local net2 к local net1,
т.е. чтобы ip адреса 192.168.2.2-255 не достукивались к ip адресам 192.168.1.2-255
как данное организовать в IPtables ??
djserg-minyar
05-09-2011, 05:52
Ограничить доступ требуется только к IP адресам первой локалке, т.е. данные правила будут прописываться на роутере2
Оставим так, спасибо. Почему нельзя сканировать с локалки. Сканируется же внешний адрес, плюс через DDns.
Ну для примера у Вас в квартире наверняка есть дверь на лестничную клетку. Вот и попробуйте открыть ее изнутри квартиры и снаружи. Вроде дверь одна, а разница на лицо :D
Добрый день!!
Подскажите пожалуйста. Имею роутер с прошивкой open wrt. Вот засада, не могу зайти из локальной сети на внешний порт роутера. Знакомые из интернета заходят свободно, получается порт открыт. А я не могу из своей же сети зайти.Подскажите как настроить правило, чтобы я мог заходить на вешний адрес роутера , при этом чтобы я стучался на него внешним адресом, а не внутренним.
Добрый день!!
Подскажите пожалуйста. Имею роутер с прошивкой open wrt. Вот засада, не могу зайти из локальной сети на внешний порт роутера. Знакомые из интернета заходят свободно, получается порт открыт. А я не могу из своей же сети зайти.Подскажите как настроить правило, чтобы я мог заходить на вешний адрес роутера , при этом чтобы я стучался на него внешним адресом, а не внутренним.
Ну во первых это вопрос к форуму openwrt, а во вторых может приведете таблицу правил ... экстрасенсы в отпуске
conntrac
23-10-2011, 13:44
Если я правильно понимаю, это называется transparent proxy. Нужно перенаправлять запросы к 520gu из его vlan на 192.168.1.1:3128 внутренней сети организации.
нашел некий скрипт
#!/bin/sh
INTERNAL_NETWORK="172.16.1.0/24" // я так понял для vlan сети роутера лучше поставить другой диапазон, отличный от используемого в локалке организации
ROUTER_IP="192.168.1.55" // это ip wan роутера в локалке организации?
PROXY_SERVER="192.168.1.1"
PROXY_PORT="3128"
iptables -t nat -A PREROUTING -i br0 -s $INTERNAL_NETWORK -d $INTERNAL_NETWORK -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_SERVER -p tcp --dport 80 -j DNAT --to $PROXY_SERVER:$PROXY_PORT // аналогично надо сделать для 443 порта?
iptables -t nat -A POSTROUTING -o br0 -s $INTERNAL_NETWORK -d $PROXY_SERVER -p tcp -j SNAT --to $ROUTER_IP
iptables -I FORWARD -i br0 -o br0 -s $INTERNAL_NETWORK -d $PROXY_SERVER -p tcp --dport $PROXY_PORT -j ACCEPT
fi
как мне это всё впихнуть в роутер? sftp из putty говорит что не установлен какой-то пакет. В какой файл это лучше добавить?
прошивка от энтузиастов WL520gu-1.9.2.7-d-r1222.trx, но можно накатить и поновее WL520gu-1.9.2.7-d-r2624.trx
Добрый день!!
Подскажите пожалуйста. Имею роутер с прошивкой open wrt. Вот засада, не могу зайти из локальной сети на внешний порт роутера. Знакомые из интернета заходят свободно, получается порт открыт. А я не могу из своей же сети зайти.Подскажите как настроить правило, чтобы я мог заходить на вешний адрес роутера , при этом чтобы я стучался на него внешним адресом, а не внутренним.
В OpenWRT нет необходимомти делать это через iptab. Через вебморду выбрать режим Administration и в меню Network - Swich включить то, что Вам нужно.
theMIROn
26-10-2011, 21:54
В OpenWRT нет необходимомти делать это через iptab. Через вебморду выбрать режим Administration и в меню Network - Swich включить то, что Вам нужно.
смысл - зайти из внутренней сети по внешнему адресу, откуда проброс опять во внутреннюю сеть
дело не в свиче, а в том что в openwrt это, видимо, не реализовано.
Доброго времени!
wl500gpv1
Подскажите пожалуйста, как заставить iptables понимать
-m addrtype
в модулях не нашел ipt_addrtype
надо его найти и подгрузить, или все гораздо сложнее (компилить не умею)?
Доброго времени!
wl500gpv1
Подскажите пожалуйста, как заставить iptables понимать
-m addrtype
в модулях не нашел ipt_addrtype
надо его найти и подгрузить, или все гораздо сложнее (компилить не умею)?
А в ветке d (на ядре 2.4) его и не будет. А в ветке rtn (на ядре 2.6) модуль не компилируется, т.к. он отключен в kernel.config :cool:
theMIROn
01-11-2011, 19:42
Доброго времени!
wl500gpv1
Подскажите пожалуйста, как заставить iptables понимать
-m addrtype
в модулях не нашел ipt_addrtype
надо его найти и подгрузить, или все гораздо сложнее (компилить не умею)?
его вообщет можно заменить другими.
какая именно задача?
Спасибо за ответы!
1) Задача - дропать броадкасты дабы не засорять лог (уж очень много их у нас в сети), как-то так:
iptables -I logdrop -i vlan1 -p udp -m addrtype --dst-type BROADCAST -m multiport --dports 67,137,138 -j DROP
причем броадкасты разные: 255.255.255.255, 46.188.хх.255, 10.122.хх.255, IP-шники динамические
Что посоветуете?
2) Давно волнует вопрос - как проще и желательно без usb-flash выводить iptables-лог в отдельный файл вместо syslog.log, желательно с настройкой его размера и log-rotate-ом?
Слышал вроде ulogd это умеет или syslog-ng?
Или еще какие варианты?
Feuer345
10-11-2011, 23:01
Доброго времени суток) Как Я могу на роутере сделать Open NAT? Заранее спасибо.
ConstAntz
11-11-2011, 05:36
Доброго времени суток) Как Я могу на роутере сделать Open NAT? Заранее спасибо.
может быть так (http://www.youtube.com/watch?v=_pjsXAN3KSY)?
Доброго времени суток) Как Я могу на роутере сделать Open NAT? Заранее спасибо.
What do you mean???
Какой роутер? Прошивка?
На роутерах (любых) по-умолчанию NAT всегда в комплекте.
И кросс постингом не надо заниматься.
Здравствуйте, замучила проблема с дос атаками, в основном досят 27015 порт.
Железо WL-500GP v1 + FlashRam, прошивка (1.9.2.7-rtn-r3300)
В номинале проц в роуторе загружен 25%, при досе 100% и вся сеть отваливается от интернета.
Пытался обновить прошивку, и не раз.
в post-firewall порты открыты по такому прицепу.
#CounterStrike
iptables -A INPUT -p udp -m udp --dport 27015:27020 -m conntrack --ctstate NEW -m limit --limit 100/sec --limit-burst 100 -j A CCEPT
iptables -A INPUT -p udp --dport 27015:27020 -j DROP
iptables -t nat -A PREROUTING -p udp -d 213.141.157.254 --dport 27015:27016 -j DNAT --to-destination 192.168.1.11
#TeamSpeak3+Download+Uploads
iptables -t nat -A VSERVER -p tcp -m tcp --dport 9987:9997 -j DNAT --to 192.168.1.9
iptables -t nat -A VSERVER -p udp -m udp --dport 9987:9997 -j DNAT --to 192.168.1.9
iptables -t nat -A VSERVER -p tcp -m tcp --dport 30033 -j DNAT --to 192.168.1.9
iptables -t nat -A VSERVER -p tcp -m tcp --dport 10011 -j DNAT --to 192.168.1.9
Все порты открыты по аналогии через VSERVER, до недавнего времени и КС сервера так работали, потом пытался найти решение,
и наткнулся на (... --limit 100/sec ...) но результатов не дало.
Я так понял что вся сеть падает именно из за того что роутер что то там фильтрует и из за слабенького проца всё вылетает.
И тут много вопросов:
- Есть ли способы противостоять досу ?
- Если же нету способов, можно ли как нибудь по другому открывать порты, чтоб при досе все пакетики шли минуя роутер прям к серверу - пусь один висит.
- Как правильно БАНИТЬ и поможет ли это от ДОСа ? (пробовал вот так банить// iptables -A INPUT -s хх.хх.хх.хх -j DROP //эфекта 0 )?
- Можно ли сделать Логирование в стандартной вебморде более информативное чем простой лог конекта и наблюдение через tcpdump.(ну к примеру показывалось кто досил, кого за дос забанило).?
- Или может существуют более информативные сервисы\пакеты которые могут логировать и банить к дополнению стандартной вебморды.?
p.s. Несколько раз искал по форуму чтоб потом не говорили "искал плохо" возможно и вправду искал плохо, но попадал при запросах (DDOS\DOS\ДОС АТАКА\блокировка адреса) на англоязычные посты или же на темы с количеством постов превышающих за тысячу.
Уже угрозам - "тебя отключат" они не верят, а если и отключить, то всех все равно не перебаню вручную, уж очень их много стало.
UPD значит примерно такое правило должно работать в обход огромной цепочки
iptables -t nat -A PREROUTING -p udp -i ppp0 --dport 27015:27017 -j DNAT --to-destination 192.168.1.11
iptables -A FORWARD -i ppp0 -d 192.168.1.11 -p tcp --dport 27015:27017 -j ACCEPT
минимально загружая роутер. Осталось что нибудь найти для логирования всех атак и авто-бана.
theMIROn
17-11-2011, 20:35
Здравствуйте, замучила проблема с дос атаками, в основном досят 27015 порт.
по умолчанию есть такая таблица SECURITY, в которую попадает трафик, если включить DoS protection из web интерфейса.
предлагаю включить и посмотреть (iptables-save), как она используется.
p.s iptables -A добавляет правила к существующим в конец, т.е до добавленных дело может и не дойти, в зависимоти от этих самых существующих
При перезагрузке устройства нужно будет повторно делать команду:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
?
При перезагрузке устройства нужно будет повторно делать команду:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
?
можно добавить в post-firewall
можно добавить в post-firewall
Тыкните пожалуйста где он должен находиться и как его правильно устанавливать (какие доп. действия нужно предпринять для его сохранения при перезагрузке).
спасибо!
Тыкните пожалуйста где он должен находиться и как его правильно устанавливать (какие доп. действия нужно предпринять для его сохранения при перезагрузке).
спасибо!
А для кого писали ФАК (http://wl500g.info/showthread.php?t=2391)
Ну переадресация вроде нормально встала, а вот разрешения на доступ к 80 порту снаружи нет. Нужно явно разрешить (хотя вебморда должна была сделать) доступ извне на порт 80 ...
что-то типа:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
у вас этого нет ...
Добавлено, однако снаружи так и не заработало.
Может быть кто-то подскажет, какие правила нужно прописать в iptables, чтобы входящие снаружи соединения по порту X перебрасывались на порт Y определенного IP, который тоже находится снаружи?
Настройки вот:
http://wl500g.info/showpost.php?p=242421&postcount=359
Строка
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
туда добавлена, но не работает.
Похоже проблема в:
-A FORWARD -i ! br0 -o vlan1 -j DROP
т.к. отбрасываются пакеты
kernel: DROP IN=vlan1 OUT=vlan1
Добавляю правило:
iptables -A FORWARD -p tcp -i vlan1 -o vlan1 -d xxx.xxx.xxx.xxx -j ACCEPT
Но оно добавляется последним в FORWARD, поэтому до него не доходит ход?
Как сделать так, чтобы правило стояло выше, чем запрет:
FORWARD -i ! br0 -o vlan1 -j DROP
Ну если бы были закрыты, я б не спрашивал. )
Сканирую:
$ nmap ***.no-ip.info
Starting Nmap 5.51 ( http://nmap.org ) at 2011-07-28 01:48 YEKT
Nmap scan report for ***.no-ip.info (**.**.228.67)
Host is up (0.031s latency).
rDNS record for **.**.228.67:
Not shown: 997 closed ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.49 seconds
Вот вот, и у меня такая же фигня. Перепробовал много способов, ни один не работает. Мне тоже как и товарищу Satoorn нужно закрыть порты из интернета. Повторяю, не открыть а ЗАКРЫТЬ! Гуру, please help!! Если это не возможно, то скажите сразу, чего тянуть кота за яйца.
короче новый вопрос: при выводе команды iptables-save вот что мне выдало:
# Generated by iptables-save v1.3.8 on Sun Jan 15 20:01:56 2012
*nat
:PREROUTING ACCEPT [4303:377290]
:POSTROUTING ACCEPT [80:5033]
:OUTPUT ACCEPT [87:6425]
:VSERVER - [0:0]
-A PREROUTING -d 193.169.4.220 -j VSERVER
-A POSTROUTING -s ! 193.169.4.220 -o vlan1 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o br0 -j MASQUERADE
COMMIT
# Completed on Sun Jan 15 20:01:56 2012
# Generated by iptables-save v1.3.8 on Sun Jan 15 20:01:56 2012
*mangle
:PREROUTING ACCEPT [8734:1632129]
:INPUT ACCEPT [1358:191309]
:FORWARD ACCEPT [3563:1112594]
:OUTPUT ACCEPT [1442:1215040]
:POSTROUTING ACCEPT [5089:2348536]
COMMIT
# Completed on Sun Jan 15 20:01:56 2012
# Generated by iptables-save v1.3.8 on Sun Jan 15 20:01:56 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [292:18364]
:OUTPUT ACCEPT [1364:1178248]
:BRUTE - [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A INPUT -i vlan1 -p udp -m udp --dport 27015 -j ACCEPT
-A INPUT -i vlan1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i vlan1 -p udp -m udp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i vlan1 -p tcp -m tcp --dport 80 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state INVALID -j logdrop
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m state --state NEW -j logaccept
-A INPUT -i br0 -m state --state NEW -j logaccept
-A INPUT -i vlan1 -m state --state NEW -j SECURITY
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j BRUTE
-A INPUT -p tcp -m tcp --dport 21 --tcp-flags FIN,SYN,RST,ACK SYN -j BRUTE
-A INPUT -d 192.168.1.1 -p tcp -m tcp --dport 80 -j logaccept
-A INPUT -j logdrop
-A INPUT -d 80.0.0.0 -i vlan1 -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -d 80.0.0.0 -i vlan1 -p tcp -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i br0 -o br0 -j logaccept
-A FORWARD -m state --state INVALID -j logdrop
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ! br0 -o vlan1 -j logdrop
-A FORWARD -i ! br0 -m state --state NEW -j SECURITY
-A FORWARD -m conntrack --ctstate DNAT -j logaccept
-A FORWARD -o br0 -j logdrop
-A BRUTE -m recent --update --seconds 600 --hitcount 3 --name BRUTE --rsource -j logdrop
-A BRUTE -m recent --set --name BRUTE --rsource -j logaccept
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
-A SECURITY -p udp -m limit --limit 5/sec -j RETURN
-A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
-A SECURITY -j logdrop
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
COMMIT
# Completed on Sun Jan 15 20:01:57 2012
Теперь собсна сам вопрос: можно ли каким нибудь способом убрать из файла iptables строчки где открываеться 80, 21 и т.д порты?
Но оно добавляется последним в FORWARD, поэтому до него не доходит ход?
Как сделать так, чтобы правило стояло выше, чем запрет:
FORWARD -i ! br0 -o vlan1 -j DROP
-A add добавить в конец
-I insert вставить (в данном случае в начало)
man iptables ... ну сколько можно???
Вот вот, и у меня такая же фигня. Перепробовал много способов, ни один не работает. Мне тоже как и товарищу Satoorn нужно закрыть порты из интернета. Повторяю, не открыть а ЗАКРЫТЬ! Гуру, please help!! Если это не возможно, то скажите сразу, чего тянуть кота за яйца.
Теперь собсна сам вопрос: можно ли каким нибудь способом убрать из файла iptables строчки где открываеться 80, 21 и т.д порты?
Внимательно изучить ВЕСЬ веб-интерфейс прошивки ... Отключить все что не нужно ... И поиск никто не отменял... И изучение матчасти ...
Уважаемые пользователи данной прошивки!
Ну как еще до Вас довести банальные истины???
"Энтузиасты" которые продолжили путь Олега (спасибо им) уже сделали все возможное для двух вещей:
1) По умолчанию прошивка по максимуму защищена извне.
2) Большинство настроек которые нужны 95% пользователей вынесены в веб-морду.
Сделать универсально для всех не выйдет. Если вы хотите большего то не поленитесь изучить матчасть и хотя-бы ФАК этого форума ...
Вопросы которые вы задаете уже не раз обсуждались ... И поймите что копировать код из форума и вставлять его в командную строку терминала (НЕ ПОНИМАЯ ЧТО он значит может обернуться против вас самих) ... Строчки кода приводят для того что бы наглядно показать пример использования команды, а не как непреложное действие ... Вот простой пример (еще из старых *NIX форумов):
rm -r /tmp
просто очистит временную директорию, а команда
rm -r / tmp
запущенная под рутом сделает очень плохо ... Просто убьет все ...
Разобрался я с этим iptables. Все оказалось намного проще! Дело в том, что я сканировал порты из локальной сети, поэтому они для меня были открыты. Но проверив порты с помощью http://www.t1shopper.com/tools/port-scan/, все сомнения пропали. Товарищ Satoorn, советую Вам тоже воспользоваться приведенным выше сайтом, может у Вас все не так уж и плохо.
Подскажите, пожалуйста, как можно сохранить настройки iptables?
Добавляю специфичные разрешения командой iptables ******, все работает, но после перезагрузки роутера они пропадают.
Роутер: WL-500gP
Прошивка: WL500gp-1.9.2.7-d-r2624
В Linux очень не силен... :(
Заранее спасибы за ответы! :)
Подскажите, пожалуйста, как можно сохранить настройки iptables?
Добавляю специфичные разрешения командой iptables ******, все работает, но после перезагрузки роутера они пропадают.
Роутер: WL-500gP
Прошивка: WL500gp-1.9.2.7-d-r2624
В Linux очень не силен... :(
Заранее спасибы за ответы! :)
Сначала изучить http://wl500g.info/showthread.php?t=15068 ... если не поможет поиск по форуму "post-firewall"
shadyninja
17-03-2012, 10:17
Приветствую!
Делаю домашний сервер из нетбука без матрицы. Дошел до настройки файрвола. Когда у меня был роутер wl500gp с прошивкой от энтузиастов - все устраивало и проблем не было.
Подскажите, пожалуйста, какие правила iptables по умолчанию действуют в прошивке от энтузиастов? Интерфейс интернета ppp0 (USB-модем).
Pablo Escobar
24-05-2012, 12:44
Камраден, пишу с калькулятора в роуминге через прокси, поиск глючит.
напомните, если нетрудно, как на RT-16 пробросить 10000 на 80 на адрес, например, 10.10.0.10.
вот так работало
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 10.10.0.10:80
а потом внезапно прекратило. и телнетом не стучит, и браузером.
спасибо за понимание.
конкретизирую. на веб-сервере внутри сети идет редирект с 80 на 443 (SSL). если правило вот так
iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 10000 -j DNAT --to-destination 10.10.0.10:443
то, заходя снаружи на site:10000, я вижу ошибку сертификата, нажимаю "все равно идти", и все. не открывается ничего.
если лезть первым вариантом (где проброс на 80), то не происходит вообще ничего.
don-pedro
24-05-2012, 13:59
на веб-сервере внутри сети идет редирект с 80 на 443 (SSL)
Как конкретно настроен этот редирект?
Pablo Escobar
24-05-2012, 14:03
Как конкретно настроен этот редирект?
Редирект стандартно через CGI на Апаче, сейчас попробовал с мобильного, заходит. Значит дело не в боббине, по ходу.
Kostik_9_let
03-07-2012, 23:00
Железо Asus RT-N12 1.9.2.7-rtn-r3121
Помогите отрезать траф айпишнику средстрами роутера.
В прошивке обнаружил iptables и решил заблочить через него.
iptables -A INPUT -s 91.219.194.29 -j DROP
Вывожу список правил iptables -L -n
запись есть
DROP all -- 91.219.194.29 0.0.0.0/0
Но трафик с этого адреса не блокируется :mad:
PING 91.219.194.29 (91.219.194.29): 56 data bytes
64 bytes from 91.219.194.29: seq=0 ttl=58 time=32.768 ms
64 bytes from 91.219.194.29: seq=1 ttl=58 time=32.499 ms
64 bytes from 91.219.194.29: seq=2 ttl=58 time=32.528 ms
64 bytes from 91.219.194.29: seq=3 ttl=58 time=32.139 ms
--- 91.219.194.29 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 32.139/32.483/32.768 ms
Почему правила не применяются?
Может нужно рестартить сервис iptables?
Подскажите прошу.
-------------
Прочитал я про post-firewall.
Без ребута никак нельзя применять правила? Это очень не удобно.