Как Добавить разрешающее правило в фаерволл на линуксе?

Железо, софт, сети, программирование, ремонт, настройка и обслуживание.

#1  asdzxc » Сб 22.08.2009, 13:04

Есть рабочий шлюз на линуксе, за ним интернет внутри лок сеть. На нем нат и сквид. Нужно добавить правило и разрешить выход в интернет с определенного локального адреса. По всем портам тоесть полный доступ через нат. Маршрутизация там на линуксе включена.

Нужно срочно , подскажите как сделать кто знает пожалуйста.
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#2  vicomte » Пн 24.08.2009, 7:22

А там дополнительно биллинга не стоит?
А то вдруг там еще все через QUEUE обрабатывается...

Надо видеть настройки файрвола еще, надо видеть как обрабатывает сквида, автоматическим заворачиванием на 80 порт или нет и так далее
Ну а вообще:
iptables -A FORWARD -s 192.168.0.XXX -j ACCEPT
iptables -A FORWARD -d 192.168.0.XXX -j ACCEPT (это если нет по умолчанию на все входящие пакеты любого типа приема на ESTABLISHED, RELATED).

Если сквида стоит, не с автоматическим перехватом с 80го порта, а прописывается на компе в браузере ее порт и айпи - то тогда естественно еще это (но если на серваке нат уже настроен и настроен прямыми руками (на всю подсеть), то оно не надо - не прописывайте просто сквиду и она у вас на компе подключаемом к инету юзаться не будет и вообще почти никакие счетчики трафа на серваке его считать не будут):

iptables -A INPUT -s 192.168.0.XXX -j ACCEPT (это если пакеты с локалки как-то запрещены)
iptables -A INPUT -s 192.168.0.XXX -j ACCEPT (это пакеты с локалки как-то запрещены и если нет по умолчанию на все iptables -A FORWARD --s 192.168.0.XXX -j ACCEPT
iptables -A OUTPUT -d 192.168.0.XXX -j ACCEPT (это если нет нет ESTABLISHED, RELATED на исходящие с сервака пакеты к любым айпи)

Если линукс редхатосовместимый и для конфигурации сети используется не etcnet, а стандартные скрипты конфигурации сети, то после выполнения этих команд, чтоб после перезагрузки сервака все сохранилось - выполните iptables-save >/etc/sysconfig/iptables

А вообще - читайте доки по iptables. Я привел пример только так - для общего случая, который просто целиком отрубит любое фаерволение и подсчет траффика на ваш комп за исключением использования сквиды. Если все надо грамотно - надо знать от чего отталкиваться, как написана конфигурация айпитэйблс и прочее, от чего отталкиваться, какой софт стоит, вобщем конфу айпитейблс в студию - тогда будет что-то более менее понятное.
Oleg S. Tsaregorodtsev,
Innovational Web Technologies
http://www.heleg.ru
http://www.irknews.ru
http://www.innoweb.ru
Аватара пользователя
vicomte
постоялец
 
Сообщения: 138
Зарегистрирован: Пн 6.09.2004, 17:06
Откуда: Иркутск

#3  asdzxc » Пн 24.08.2009, 13:48

Я сделал как сказали , в результате все равно не работает, и вот что
получилось. это iptables -L (часть из него)

Chain INPUT (policy DROP)
target prot opt source destination
my_input all -- anywhere anywhere
ACCEPT all -- 192.168.0.200 anywhere
ACCEPT all -- anywhere 192.168.0.200

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.0.200 anywhere
ACCEPT all -- anywhere 192.168.0.200

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.0.200
сюда еще добавил ACCEPT all -- 192.168.0.200 anywhere
вот только непойму почему в блок ДРОП этот адрес попал
что нужно еще сделать чтобы заработало у меня ?
Пнги у меня проходят ну и раньше проходили , аська тоже разрешена , без прокси работает. Тоже раньше работало .
Чтобы работать через сквид нужно прописывать его порт и адрес в браузере.

Добавлено спустя 15 минут 16 секунд:

Я думаю наверно нужно тут поднять мои правила выше my_input , только не пойму как это сделать? Если это май инпут обрабатывается в первую очередь то там есть запрещающее правило на всю подсеть. Они тут по очереди обрабатывается ?
Chain INPUT (policy DROP)
target prot opt source destination
my_input all -- anywhere anywhere
ACCEPT all -- 192.168.0.200 anywhere
ACCEPT all -- anywhere 192.168.0.200
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#4  VaLAr » Пн 24.08.2009, 14:01

правила обрабатываются по порядку
с передачей на цепочки
в вашем случае сначала обработается цепочка my_input
и только потом, если дойдет - то следующие правила
iptables -L -n --line-numbers
лучше конфигурить через файлик командами iptables-save iptables-restore, как было сказано ранее
тогда вопросов к очередности не будет
ну или
iptables -R для любителей консоли
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#5  asdzxc » Пн 24.08.2009, 14:40

чтотто я не понял какой файл использовать чтобы конфигурировать , у меня там нет файла iptables , есть только iptables-config но там совсем не то

Добавлено спустя 2 минуты 43 секунды:

подскажите как через консоль спустить my_input цепочку на третье место ?
или какой файл править?

Добавлено спустя 2 минуты 53 секунды:

этим iptables - R нифига непонятно как пользоватся , вроде и справку посмотрел iptables -h всеравно примера нет , и непонятно какой синтаксис
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#6  VaLAr » Пн 24.08.2009, 14:52

сохранять командой

iptables-save >/etc/sysconfig/iptables

потом правишь файл
/etc/sysconfig/iptables

потом восстанавливаешь iptables-restore < /etc/sysconfig/iptables

лучше конечно почитать в интернете мануал по iptables
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#7  asdzxc » Пн 24.08.2009, 15:06

этим iptables - R нифига непонятно как пользоватся , вроде и справку посмотрел iptables -h всеравно примера нет , и непонятно какой синтаксис

Добавлено спустя 6 минут 53 секунды:

Понял пробую

Добавлено спустя 5 минут 11 секунд:

нда , чтото не работает , местами поменял стало вот так :

Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 192.168.0.200 anywhere
ACCEPT all -- anywhere 192.168.0.200
my_input all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.0.200 anywhere
ACCEPT all -- anywhere 192.168.0.200

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.0.200
ACCEPT all -- 192.168.0.200 anywhere

всеравно не пропускает , не указываю настройки прокси в браузере и тогда не работает. Все правильно я сделал ?
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#8  VaLAr » Пн 24.08.2009, 15:17

-R заменяет правило в цепочке
-I вставляет в определенное место

забей на эти ключи
делай через
iptables-save -c > /etc/iptables-save
cat /etc/iptables-save | iptables-restore -c
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#9  asdzxc » Пн 24.08.2009, 15:27

Понял спасибо я все это уже сделал , но овт у меня всеравно не работает.
Что еще посмотреть не подскажеш ?

Добавлено спустя 6 минут 54 секунды:

Я уже там закоментировал единственное запрещающее правило . т.е. сейчас вообще со всех адресов должно наружу пускать но не работает не пускает.

Может надо както сетевую часть перегрузить чтобы все это заработало , или сразу как ресторе сделал из файла сразу настройки применяются и действуют ?
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#10  VaLAr » Пн 24.08.2009, 15:30

А нат у вас точно настроен?
Может все ходят в интернет через сквид, а по-другому никак и не могут?

вот достаточно простая статья о варианте решения вашей проблемы
http://www.opennet.ru/base/net/linux_nat.txt.html
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#11  asdzxc » Пн 24.08.2009, 15:42

в статье пользуются командой ipnatadm , а для моей системы она неизвестна

как включить нат ? . Это можно сделать в файле iptables чтобы потом ресторе сделать.


В тоже времяне непонятно у меня же пинги проходят , с локально адреса , есл бы нат небыл включен то пинги бы не проходили бы .
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#12  VaLAr » Пн 24.08.2009, 15:45

шлюз у вас в обе сети смотрит - в локалку и на провайдера, вот у вас оттуда пинги и ходят.
там расписано как через команды ip и route все настроить, читайте до конца
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#13  asdzxc » Пн 24.08.2009, 15:46

Я пингую то не со шлюза , а с рабочей станции у которой дефайлт гетвеем прописан сервер с линукс . Т.е. сервер точно мои пакеты форвардит.

мне в принципе только по одному порту доступ нжен с сервером терминалов в интернете соедениться по порту 3389
может создать правило для именно этого порта и тогда будет работать ? можете мне написать пример такого правила ?
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#14  VaLAr » Пн 24.08.2009, 15:49

если у вас проходят пинги , то и остальные пакеты должны проходить тоже
попробуйте выключить фаервол
ну и далее
telnet <ip> 3389
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#15  asdzxc » Пн 24.08.2009, 15:52

а как его выключить фаерволл ?

я этот телнет на 3389 каждый раз делаю но не идет
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#16  VaLAr » Пн 24.08.2009, 15:54

ну я бы посмотрел таблицу ната в iptables , вдруг через него сделано
iptables -L -t nat
ну а выключить
/etc/init.d/iptables stop
запустить соответственно
/etc/init.d/iptables start
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#17  asdzxc » Пн 24.08.2009, 16:02

Точно я так понимаю не работате потому что натятся только определенные протоколы !
Вот что там:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT icmp -- 192.168.0.0/16 anywhere to:мой внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:ssh to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:https to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:pop3 to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:imap to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:pop3s to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:imaps to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:smtp to:внешний адрес
SNAT udp -- 192.168.0.0/16 anywhere udp dpt:87 to:внешний адрес
SNAT tcp -- 192.168.0.0/16 anywhere tcp dpt:dec-notes t o:внешний адрес
SNAT udp -- 192.168.0.0/16 anywhere udp dpt:dec-notes t o:внешний адрес

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

какой командой можно добавить строчку чтобы натить по всем протоколам-портам ? И все я думаю после этого должно заработать!
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#18  VaLAr » Пн 24.08.2009, 16:07

я не хочу показаться занудным
но команды все теже
iptables-save -c > /etc/iptables-save
cat /etc/iptables-save | iptables-restore -c

просто внизу файла будет
# Generated by iptables-save
*nat
:PREROUTING ACCEPT [592391:97438315]
:POSTROUTING ACCEPT [26756:1957205]
:OUTPUT ACCEPT [26756:1957205]
COMMIT

вот там и правьте в нужном вам блоке
указывайте необходимый порт или все порты, чего конечно делать не стоит
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

#19  asdzxc » Пн 24.08.2009, 16:30

Так а строку то какую добавить ? я синтаксиса незнаю просто
чтобы все протоколы одной строкой натило ?

завести такуюже строку как и с указанием протокола только , вместо протокола поставить ALL ? ТАК НУЖНО ?
asdzxc
постоялец
 
Сообщения: 203
Зарегистрирован: Вт 3.04.2007, 16:33

#20  VaLAr » Пн 24.08.2009, 16:32

скопируйте сюда из файла /etc/init.d/iptables
блок POSTROUTING
за сим остаюсь.....аЦЦкий
Аватара пользователя
VaLAr
постоялец
 
Сообщения: 314
Зарегистрирован: Чт 15.09.2005, 10:14
Откуда: 9й круг

Аватара
спонсор



cron