PDA

Bekijk de volledige versie : Настройка IPTables



Pages : 1 2 [3]

don-pedro
04-07-2012, 14:47
Вывожу список правил iptables -L -n
Почему правила не применяются?

Лучше посмотреть всю таблицу командой iptables-save.



Может нужно рестартить сервис iptables?

http://www.opennet.ru/docs/RUS/iptables/



Без ребута никак нельзя применять правила? Это очень не удобно.
Можно.


P.S. 9 лет - это возраст? И это правда? :)

Kostik_9_let
04-07-2012, 23:00
don-pedro,
Через сейв сделал. Там есть нужная строка.

-A INPUT -s 91.219.194.29/32 -j DROP

service iptables restart из мануала

/bin/sh: service: not found

все же как его перезапустить?


Не возраст.

tempik
05-07-2012, 04:01
service iptables restart из мануала

/bin/sh: service: not found

все же как его перезапустить?

Для применения правила перезапуск не требуется, правило действует сразу после добавления ... Вы запускали "PING 91.219.194.29" на роутере или на машине за ним???

don-pedro
05-07-2012, 06:22
don-pedro,
Через сейв сделал. Там есть нужная строка.

-A INPUT -s 91.219.194.29/32 -j DROP

Важно, в каком именно месте она есть.

Kostik_9_let
05-07-2012, 16:03
tempik,
На роутере и на машине. Пинг идет.
don-pedro,
Вот полный выхлоп команды iptables-save
http://xeon.lolo.pro/private/iptables.rures.zip

tempik
05-07-2012, 20:26
Вот полный выхлоп команды iptables-save
http://xeon.lolo.pro/private/iptables.rures.zip
замени -A на -I

iptables -I INPUT -s 91.219.194.29 -j DROP

Kostik_9_let
05-07-2012, 21:53
Сделал, но результат тот же.
Записи добавились после строк
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [4001531:252455545]
:OUTPUT ACCEPT [1401727:227392541]
:BRUTE - [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:UPNP - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]

tempik
06-07-2012, 18:42
Сделал, но результат тот же.
Записи добавились после строк
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [4001531:252455545]
:OUTPUT ACCEPT [1401727:227392541]
:BRUTE - [0:0]
:MACS - [0:0]
:SECURITY - [0:0]
:UPNP - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]

Если после этих записей стоит
iptables -I INPUT -s 91.219.194.29 -j DROP
то адрес 91.219.194.29 не будет пинговаться с РОУТЕРА (при условии что остальные строки остались без изменений) ... Может Вам имеет смысл разобраться для чего вообще применяют правила iptables??? Например почитать http://www.opennet.ru/docs/RUS/iptables/
Цепочка INPUT это не все что идет ИЗВНЕ .... Если на пальцах, то представьте роутер в виде стакана ... Наливаем воду в него это цепочка INPUT. Выливаем воду из него это цепочка OUTPUT. А вот солнечный луч что проходит сквозь него Вам в глаз это цепочка FORWARD ... Где-то так (сорри за образность)

bmenee
01-08-2012, 10:12
пытаюсь заблокировать доступ из локалки к определенному IP, подскажите что делаю не так :

iptables -A OUTPUT -d 1.2.3.4 -j DROP

после этого с клиентского ПК :

ping 1.2.3.4

все равно пинг проходит

PeterV
01-08-2012, 11:42
пытаюсь заблокировать доступ из локалки к определенному IP, подскажите что делаю не так :

iptables -A OUTPUT -d 1.2.3.4 -j DROP



Наверное стоит поставить -A INPUT, и кстати, если не указан протокол, то если не изменяет мне мой склероз, то правило обрабатывает TCP/UDP соединения, но не обрабатывает ICMP.

bmenee
02-08-2012, 08:02
попробовал разные варианты :

iptables -I INPUT -d 1.2.3.4 -j DROP
iptables -A INPUT -d 1.2.3.4 -j DROP
iptables -A OUTPUT -d 1.2.3.4 -j DROP

правила видно через iptables -L -n , но никакого эффекта нет (проверяю tcp через httping)
все равно остается доступ к этим ip из локалки

PeterV
02-08-2012, 09:49
а если добавить
iptables -t NAT -A INPUT -d 1.2.3.4 -j DROP (или как там эту таблицу зовут, просто девайса под рукой нет ...)

tempik
02-08-2012, 19:18
попробовал разные варианты :

iptables -I INPUT -d 1.2.3.4 -j DROP
iptables -A INPUT -d 1.2.3.4 -j DROP
iptables -A OUTPUT -d 1.2.3.4 -j DROP

правила видно через iptables -L -n , но никакого эффекта нет (проверяю tcp через httping)
все равно остается доступ к этим ip из локалки
Посмотрите на мое сообщение (http://wl500g.info/showthread.php?13231-%CD%E0%F1%F2%F0%EE%E9%EA%E0-IPTables&p=252739#post252739) и попробуйте сделать правильный вывод ... Да и вот это (http://www.opennet.ru/docs/RUS/iptables/) изучить не помешает ...

AndreyPopov
10-08-2012, 13:42
пытаюсь заблокировать доступ из локалки к определенному IP, подскажите что делаю не так :

iptables -A OUTPUT -d 1.2.3.4 -j DROP

после этого с клиентского ПК :

ping 1.2.3.4

все равно пинг проходит

iptables работает между wan-lan, внутри lan пакеты проходят через коммутатор.
потому вы можете:
- запретить доступ избранным IP адресам к WAN
- вы можете запретить доступ к устройству устройствам с определенными MAC адресами или запретить отсылать пакеты на определенные MAC адреса - но этим занимается не iptables.

sanc_6
01-02-2013, 17:42
Почему при добавлении следующего правила (iptables -I INPUT 1 -i vlan1 -j DROP или iptables -I INPUT 1 -i vlan1 -m conntrack -ctstate NEW -j DROP) клиенты по проводу работают, а Wi-Fi отваливается? В первом случае подсоединяется, но не открывает страницы, а во втором - даже не удается подсоединиться? Просто я хочу заблокировать точку доступа на вход по данному интерфейсу, который в данном случае имеет внешний IP. Заранее спасибо!

ConstAntz
05-02-2013, 15:34
Почему при добавлении следующего правила (iptables -I INPUT 1 -i vlan1 -j DROP или iptables -I INPUT 1 -i vlan1 -m conntrack -ctstate NEW -j DROP) клиенты по проводу работают, а Wi-Fi отваливается?

Потому что vlan1, как раз и отвечает за вайфай клиентов, а vlan0 - за проводных. С таблицами (http://dic.academic.ru/dic.nsf/mas/68835/%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0) можно познакомиться там (http://linuxshare.ru/docs/security/iptables/iptables-tutorial.html).

Простите! (заметил спустя 3 часа), вместо vlan имелось ввиду eth

leniviy
06-02-2013, 11:07
Есть ли способ через морду разрешить произвольный порт, а не только ftp/ssh ?
Или только через post-firewall?
У меня на 514 udp порту крутится syslog-ng.

sanc_6
06-02-2013, 12:47
Потому что vlan1, как раз и отвечает за вайфай клиентов, а vlan0 - за проводных. С таблицами (http://dic.academic.ru/dic.nsf/mas/68835/%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0) можно познакомиться там (http://linuxshare.ru/docs/security/iptables/iptables-tutorial.html).

Тогда как все-таки написать правило так, чтобы Wi-Fi не зарубался? И почему тогда этому интерфейсу присваевается WAN-овский IP?

ConstAntz
06-02-2013, 18:17
Тогда как все-таки написать правило так, чтобы Wi-Fi не зарубался?
отредактировал предыдущее сообщение.

Просто я хочу заблокировать точку доступа на вход по данному интерфейсу, ...

С учетом предыдущего, мысль не совсем ясна. Распишите подробнее. Из того, что написано - самое простое=отключить в морде вайфай, или там-же, поставить фильтр по маку.

sanc_6
06-02-2013, 19:46
отредактировал предыдущее сообщение.


С учетом предыдущего, мысль не совсем ясна. Распишите подробнее. Из того, что написано - самое простое=отключить в морде вайфай, или там-же, поставить фильтр по маку.

Нет, вайфай не хочется отключать. Про мак-фильтр я тоже знаю. Конкретизирую: я хочу заблокировать те пакеты, которые идут на роутер (именно на роутер) из внешней сетки, которая, насколько я понимаю, сидит на vlan1! Короче, закрыть все порты для внешней сетки!

ConstAntz
09-02-2013, 06:45
Нет, вайфай не хочется отключать. Про мак-фильтр я тоже знаю. Конкретизирую: я хочу заблокировать те пакеты, которые идут на роутер (именно на роутер) из внешней сетки, которая, насколько я понимаю, сидит на vlan1! Короче, закрыть все порты для внешней сетки!

Неназойливую рекламу у своих вайфай клиентов блокирую правкой /usr/local/etc/hosts (flashfs commit && flashfs save на конце)


[root@root]$ cat /usr/local/etc/hosts
127.0.0.1 media.admob.com pagead.l.doubleclick.net csi.gstatic.com ad.leadboltapps.net api.airpush.com content.leadbolt.
net ad1rotator.com s.mobclix.com


А второе правило не срабатывает, потому что клиент отправил запрос и роутер обязан пропустить ответ обратно.

sanc_6
09-02-2013, 21:13
Неназойливую рекламу у своих вайфай клиентов блокирую правкой /usr/local/etc/hosts (flashfs commit && flashfs save на конце)


[root@root]$ cat /usr/local/etc/hosts
127.0.0.1 media.admob.com pagead.l.doubleclick.net csi.gstatic.com ad.leadboltapps.net api.airpush.com content.leadbolt.
net ad1rotator.com s.mobclix.com


А второе правило не срабатывает, потому что клиент отправил запрос и роутер обязан пропустить ответ обратно.

А для чего этот файл нужен? Что он делает? Какие адреса туда нужно вписывать? По-умолчанию в прошивке его нет! И как его создать? Попытался поискать по форуму, но почему-то возникает ошибка "Database Error".

PTZ-M
15-02-2013, 08:28
Гхм, у ми обратная задача - разделить (separate) Wi-Fi и LAN, вычитал под DD-WRT аналогичное и собрал такое:


iptables -I INPUT -i eth1 -m state --state NEW -j DROP
iptables -I FORWARD -i eth1 -o eth0 -j DROP
iptables -I FORWARD -i eth0 -o eth1 -j DROP

Однако при запуске -m state --state NEW вываливается, что мол нет такой фитчи :( Остальные 2 правила принимаются, но не отрабатываются.

makaka86
24-02-2013, 11:20
На роутере стоит socks прокси сервер srelay. К нему разрешён доступ с одного внешнего IP на порт 2013 (vlan1)
Задача ограничить скорость интернета для внешнего пользователя.
QOS гонять не хочется ради одного этого правила, да и по iptables не хватит опыта.
Может кто поможет или подскажет альтернативное решение?
Нашёл в сети такой пример ограничения доступа к веб серверу, но у меня не получается подстроить под свои нужды


в правилах прописал следующее:

/sbin/iptables -N bad_adress
/sbin/iptables -A bad_adress -p TCP -i $INET_IFACE -s 192.168.2.43 --dport 80 -m limit --limit 2/second --limit-burst 2 -j ACCEPT
/sbin/iptables -A bad_adress -p TCP -i $INET_IFACE -s 192.168.2.43 --dport 80 -j DROP

/sbin/iptables -A bad_adress -p TCP -i $INET_IFACE -s 192.168.2.42 --dport 80 -m limit --limit 2/second --limit-burst 2 -j ACCEPT
/sbin/iptables -A bad_adress -p TCP -i $INET_IFACE -s 192.168.2.42 --dport 80 -j DROP

получилась скорость около 6 кБ/с определял экспериментально при закачке файла с сервера....
для веб просмотра страниц скорость примерно получается около 900 Б/с
ну вот, что и требовалось сделать, без всяких там заморочек!!!

Polet
14-11-2013, 06:34
Здравствуйте
Как прописать закрыть какой либо порт?
Открыть, понятно echo "/usr/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT" >> /usr/local/sbin/post-firewall
а если наоборот
unaceept или no accept
буду признателен если посоветуете литературу
какая система стоит линукс, какой применяется язык

don-pedro
14-11-2013, 07:58
Как прописать закрыть какой либо порт?
unaceept или no accept

DROP

буду признателен если посоветуете литературу
http://ru.wikibooks.org/wiki/Iptables

http://atkritka.com/288032/

sanc_6
03-12-2013, 12:22
Может ли iptables фильтровать пакеты в LAN? Или (как я здесь прочитал) он сидит на WAN'е? Если может, то как можно написать правило, ограничивающее доступ к определенному хосту от клиента этой же сетки? Насколько я понимаю, INPUT в таблице filter - это для пакетов, адресованных роутеру; FORWARD - это транзитные пакеты (т.е. извне внутрь локалки и наоборот)! Если iptables такое может, то как написать и где? Спасибо

don-pedro
03-12-2013, 13:16
Может ли iptables фильтровать пакеты в LAN? Или (как я здесь прочитал) он сидит на WAN'е? Если может, то как можно написать правило, ограничивающее доступ к определенному хосту от клиента этой же сетки?
Нет.
Такими пакетами занимается встроенный свитч, до netfilter они не доходят.

imho.

sanc_6
03-12-2013, 13:28
Нет.
Такими пакетами занимается встроенный свитч, до netfilter они не доходят.

imho.

Хорошо! А возможность конфигурирования из телнета свитча есть?

lokus
01-10-2014, 23:20
Мое почтение.
Такая штука, у меня есть железка дома, настроенная на работу в MAN провайдера.
MAN провайдер отключил, железка не работает, доступа к ее настройкам нет.
Но я знаю что если изменить на ней сервер к которому она обращается то все заработает.
Так вот как сделать так чтобы железка думала что она общается с одним IP, а на самом деле общалась с другим. Причем, второй IP заканчивается на ноль (не знаю важно ли это).
Подозреваю что надо крутить правила iptables, но еще не особо в этом разбираюсь.
Поскажите как правильно сделать?..

--> RTFM: http://www.opennet.ru/docs/RUS/iptables/#DNATTARGET

lokus
03-10-2014, 10:10
Вот так почему-то не срабатывает:


iptables -t nat -I PREROUTING -d 10.39.252.2 -j DNAT --to-destination 89.20.155.0
iptables -t nat -I POSTROUTING -s 89.20.155.0 -j SNAT --to-source 10.39.252.2

mzhuravlev
11-11-2016, 06:57
Сотоварищи, надеюсь на Вашу помощь.
Есть скрипт на Python, который прекрасно работает на компьютере с Ubuntu. Скрипт отправляет в сеть broadcast пакет.
Пытаюсь запустить его на роутере, не работает, пакет не приходит.
Меняю broadcastовый адрес на конкретный, работает.
У меня возникла две идеи, почему не работает:
- что то не так в iptable, возможно нужно что-то прописать, может он отбивает broadcast, или пакеты идут на другой интерфейс сетевой....
- что-то нет так в настройках сокета, хотя почему тогда под убунтой работает....(маловероятно с моей точки зрения)
- что-то, чего я не знаю.

Подскажите что сделать чтобы заработало... Правила iptables по умолчанию, в post-firewall ничего не меняю, прошивка от интузиастов, и скрипт ниже...

#!/opt/bin/python
import sys, os, socket
addr = ('255.255.255.255', 1111)
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
t_s ="000000000000000"
sock.sendto(t_s, addr)
sock.close()


Решено, нужно добавить sock.bind('192.168.1.1',1)