adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
Эх - настройка iptables
На страницу 1 2 3
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS
Автор Сообщение
ProFfeSsoRr
Гуру
СообщениеДобавлено: Ср 9-07-08 : 22-23    Заголовок сообщения: Эх - настройка iptables Ответить с цитатой

Ну вот и добрался я до настройки iptables. Где бы доступным языком про него прочитать? А то никаких его конфигов в /etc/ я не обнаружил, и беглое чтение интернета показало, что как-то его настройки хитро хранятся. Так что прошу помощи - ссылок на руководства, от простых и понятных до полных и сложных.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
dlnsk
Гуру
СообщениеДобавлено: Ср 9-07-08 : 23-07    Заголовок сообщения: Ответить с цитатой

Мне инет помог когда надо было...
...монструозная это штука - iptables, но крутая... Wink
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Сб 12-07-08 : 15-22    Заголовок сообщения: Ответить с цитатой

Че-то пошарил я гуглом, и запутался еще больше. Руководств достаточно много, но все какие-то однобокие, и ничего не объясняют. Мне вот пока что надо добавить в iptables только одну штуку: проброс портов для DC, но вот такого руководства я не нашел. Везде делают огромные конфиги на все сразу, причем еще и не все в них понятно Sad
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
David
Гуру
СообщениеДобавлено: Сб 12-07-08 : 15-40    Заголовок сообщения: Ответить с цитатой

http://www.opennet.ru/docs/RUS/iptables/index.html
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Сб 12-07-08 : 16-18    Заголовок сообщения: Ответить с цитатой

Цитата:
http://www.opennet.ru/docs/RUS/iptables/index.html
ох нифига се... Целый учебник! Он ведь наверняка в печатном виде существует?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
dlnsk
Гуру
СообщениеДобавлено: Вс 13-07-08 : 00-17    Заголовок сообщения: Ответить с цитатой

Подробненько...


ip_tables.rar
 Описание:  
Скачать
 Имя файла:  ip_tables.rar
 Размер файла:  338.34 KB
 Скачано:  336 раз(а)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Вс 13-07-08 : 09-53    Заголовок сообщения: Ответить с цитатой

Спасибо за руководства - вчера поразбирался с этим со всем этим хозяйством, вроде понял... Буду сегодня список правил составлять Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Вт 15-07-08 : 19-45    Заголовок сообщения: Ответить с цитатой

Что-то не могу я понять, попробовал сделать правила, а не канают. Скиньте пожалуйста для примера команды, мапящие порты для DC (один TCPшный и один UPDшный).

Блин! Вообще, поделитесь кто-нить примером своего конфига! Нифига не могу понять! Читал-читал учебник, вроде все элементарно, сделал правило, а не пашет! Уже срочняк надо DC настроить чтоб работал, остальное-то пофиг, разберусь по примерам, а вот DC надо уже прям позарез Sad
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
David
Гуру
СообщениеДобавлено: Вт 15-07-08 : 23-31    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr
нарисуй структуру сети
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Vlad
Гуру
Предупреждений : 4
СообщениеДобавлено: Ср 16-07-08 : 01-14    Заголовок сообщения: Ответить с цитатой

Как я понял это что-то вроде

в-рот-мне-ноги ---> linuxx ---------> мудем -------> EVIL
192.168.0.3 ____ 192.168.0.2 ___ 192.168.0.1

или даже проще:

в-рот-мне-ноги ---> мудем -------> EVIL
192.168.0.2 ____ 192.168.0.1

З.Ы. Может тебе NAT нужен?
Цитата:
Сам только что пропарился с пробросом портов... Вот вычитал в инете
ptables -t nat -A PREROUTING -s $FROM -d $GATE_IP -i eth1 -p tcp -m tcp --sport 1024:65535 --dport 3389 -j DNAT --to-destination $W2K_SERVER

iptables -t nat -A POSTROUTING -d $W2K_SERVER -o eth0 -p tcp -m tcp --dport 3389 -j SNAT --to-source $GATE_INNER_IP

iptables -A INPUT -s $FROM -d $GATE_IP -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s $FROM -i eth1 -p tcp -m tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -s $W2K_SERVER -d $FROM -i eth0 -p tcp -m tcp --sport 3389 -j ACCEPT

где
$FROM - кому разрешено ломиться к внутреннему серверу
$GATE_IP - внешний ip-адрес шлюза
$GATE_INNER_IP - внутренний ip-адрес шлюза
$W2K_SERVER - ну это понятно Smile


ЗЫЫ: http://wiki.auditory.ru/Iptables
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Ср 16-07-08 : 09-39    Заголовок сообщения: Ответить с цитатой

Цитата:
нарисуй структуру сети
ppp0 - модем бриджа, eth0 - сеть, в которой модем, eth1 - моя локалка. Мапить надо с ppp0 на eth1, все элементарно в общем-то.
Цитата:
Может тебе NAT нужен
ога, нужен. Спасибо за пример, ща попробую под себя переделать.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
David
Гуру
СообщениеДобавлено: Ср 16-07-08 : 23-47    Заголовок сообщения: Ответить с цитатой

если не ошибся нигде, то вроде должно быть так:
вход:
(все что пришло с модема на внешний интерфейс прокси на порт tcp 1234 и udp 1235, пробрасывается на комп по заданным портам)

Код:

A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p tcp --dport 1234 -j DNAT --to $COMP:$PORT_TCP
A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p udp  --dport 1235 -j DNAT --to $COMP:$PORT_UDP
A FORWARD -i eth0 -p tcp --dport 1234 -d $COMP -j ACCEPT
A FORWARD -i eth0 -p udp --dport 1235 -d $COMP -j ACCEPT


(все что пытается уйти с компа на внутренний интерфейс прокси на заданные порты, пробрасывается на внешку по tcp 1234 и udp 1235 портам)
выход:
Код:

A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p tcp --dport $PORT_TCP -j SNAT --to $MODEM:1234
A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p udp --dport  $PORT_UDP -j SNAT --to $MODEM:1235
A FORWARD -o eth1 -p tcp --dport 1234 -d $MODEM -j ACCEPT
A FORWARD -o eth1 -p udp --dport 1235 -d $MODEM -j ACCEPT


где
$MODEM - внешний ip адрес
$LINUX_OUTER - ip linux-а на eth0 (в модем)
$LINUX_INNER - ip linux-а на eth1 (в локалку)
$COMP - комп в сети eth1
$PORT_TCP - нужный tcp порт на компе $COMP
$PORT_UDP - нужный udp порт на компе $COMP
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 17-07-08 : 14-04    Заголовок сообщения: Ответить с цитатой

David спасибо большое. Только все равно какая-то ерунда. Походу, я чего-то элементарного не могу понять. Итак:
1) сделал /etc/rc.firewall, права доступа полные, файл исполняемый. Содержимое:
Нажмите сюда, чтобы просмотреть текст


#!/bin/sh
IPTABLES="/sbin/iptables"
MODEM="90.189.х.х"
LINUX_OUTER="192.168.1.2"
LINUX_INNER="192.168.0.1"
COMP="192.168.0.3-192.168.0.20"
PORT_TCP="1234"
PORT_UDP="1235"

$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p tcp --dport 1234 -j DNAT --to $COMP:$PORT_TCP
$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p udp --dport 1235 -j DNAT --to $COMP:$PORT_UDP
$IPTABLES -A FORWARD -i eth0 -p tcp --dport 1234 -d $COMP -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -p udp --dport 1235 -d $COMP -j ACCEPT
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p tcp --dport $PORT_TCP -j SNAT --to $MODEM:1234
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p udp --dport $PORT_UDP -j SNAT --to $MODEM:1235
$IPTABLES -A FORWARD -o eth1 -p tcp --dport 1234 -d $MODEM -j ACCEPT
$IPTABLES -A FORWARD -o eth1 -p udp --dport 1235 -d $MODEM -j ACCEPT

2) Открываю рутовую консоль, делаю в ней cat /etc/rc.firewall | iptables-restore -n и получаю ошибку:
Цитата:
iptables-restore:line 2 failed
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
serg1982
Форумчанин
СообщениеДобавлено: Чт 17-07-08 : 14-29    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr писал(а):
David спасибо большое. Только все равно какая-то ерунда. Походу, я чего-то элементарного не могу понять. Итак:
1) сделал /etc/rc.firewall, права доступа полные, файл исполняемый. Содержимое:
Нажмите сюда, чтобы просмотреть текст


#!/bin/sh
IPTABLES="/sbin/iptables"
MODEM="90.189.х.х"
LINUX_OUTER="192.168.1.2"
LINUX_INNER="192.168.0.1"
COMP="192.168.0.3-192.168.0.20"
PORT_TCP="1234"
PORT_UDP="1235"

$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p tcp --dport 1234 -j DNAT --to $COMP:$PORT_TCP
$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p udp --dport 1235 -j DNAT --to $COMP:$PORT_UDP
$IPTABLES -A FORWARD -i eth0 -p tcp --dport 1234 -d $COMP -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -p udp --dport 1235 -d $COMP -j ACCEPT
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p tcp --dport $PORT_TCP -j SNAT --to $MODEM:1234
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p udp --dport $PORT_UDP -j SNAT --to $MODEM:1235
$IPTABLES -A FORWARD -o eth1 -p tcp --dport 1234 -d $MODEM -j ACCEPT
$IPTABLES -A FORWARD -o eth1 -p udp --dport 1235 -d $MODEM -j ACCEPT

2) Открываю рутовую консоль, делаю в ней cat /etc/rc.firewall | iptables-restore -n и получаю ошибку:
Цитата:
iptables-restore:line 2 failed


/etc/rc.firewall это просто скрипт который надо запускать sh /etc/rc.firewall, если хотите именно сохранять и загружать правила, то после того как запустите этот скрипт, напрмер, при шутдауне надо сделать iptables-save > /etc/iptables, а при загрузке системы iptables-restore < /etc/iptables.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 17-07-08 : 15-25    Заголовок сообщения: Ответить с цитатой

Хорошо, запустил, ругается теперь на то, что " host/network 192.168.0.3-192.168.0.20 not found"
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
serg1982
Форумчанин
СообщениеДобавлено: Чт 17-07-08 : 15-33    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr писал(а):
Хорошо, запустил, ругается теперь на то, что " host/network 192.168.0.3-192.168.0.20 not found"

-s, --source [!] address[/mask]
Source specification. Address can be either a network name, a hostname (please note that specifying any name to be resolved with a
remote query such as DNS is a really bad idea), a network IP address (with /mask), or a plain IP address. The mask can be either a
network mask or a plain number, specifying the number of 1’s at the left side of the network mask. Thus, a mask of 24 is equivalent
to 255.255.255.0. A "!" argument before the address specification inverts the sense of the address. The flag --src is an alias for
this option.

-d, --destination [!] address[/mask]
Destination specification. See the description of the -s (source) flag for a detailed description of the syntax. The flag --dst is
an alias for this option.

тоесть, в таком виде задавать нельзя (192.168.0.3-192.168.0.20) а надо примерно так 192.168.0.0/28 это 192.168.0.1-192.168.0.14...
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
serg1982
Форумчанин
СообщениеДобавлено: Чт 17-07-08 : 15-40    Заголовок сообщения: Ответить с цитатой

Если хочется задавать именно диапазоны портов или адресов пречисляя черезя запятую или через тире - то надо использовать MATCH EXTENSIONS и тогда можно делать так:
iprange
This matches on a given arbitrary range of IPv4 addresses

[!]--src-range ip-ip
Match source IP in the specified range.

[!]--dst-range ip-ip
Match destination IP in the specified range.

multiport
This module matches a set of source or destination ports. Up to 15 ports can be specified. A port range (port:port) counts as two ports.
It can only be used in conjunction with -p tcp or -p udp.

--source-ports [!] port[,port[,port:port...]]
Match if the source port is one of the given ports. The flag --sports is a convenient alias for this option.

--destination-ports [!] port[,port[,port:port...]]
Match if the destination port is one of the given ports. The flag --dports is a convenient alias for this option.

--ports [!] port[,port[,port:port...]]
Match if either the source or destination ports are equal to one of the given ports.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 17-07-08 : 15-43    Заголовок сообщения: Ответить с цитатой

Цитата:
а надо примерно так 192.168.0.0/28 это 192.168.0.1-192.168.0.14
э... не понял немножко. 192.168.0.0/24 вроде пишут когда задают диапазон 192.168.0.0-255, а у тебя /28 - и это всего-то 192.168.0.1-14. Как тогда это число после слэша выбирается?Последний раз редактировалось: ProFfeSsoRr (Чт 17-07-08 : 15-46), всего редактировалось 1 раз
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
serg1982
Форумчанин
СообщениеДобавлено: Чт 17-07-08 : 15-45    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr писал(а):
Цитата:
а надо примерно так 192.168.0.0/28 это 192.168.0.1-192.168.0.14
э... не понял немножко. 192.168.0.0/24 вроде пишут когда задают диапазон 192.168.0.0-255, а у тебя /28 - и это всего-то 192.168.0.1-28. Как тогда это число после слэша выбирается?

Чем больше цифра после слеша тем меньше диапозон получается для /24 - 255 узлов для /28 - 14 узлов.
посмотри вот тут калькулятор ipcalc.dewil.ru
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 17-07-08 : 15-48    Заголовок сообщения: Ответить с цитатой

Цитата:
Чем больше цифра после слеша тем меньше диапозон получается
блин, хитро... Тек, сейчас попробовал сделать вот так:
Нажмите сюда, чтобы просмотреть текст


IPTABLES="/sbin/iptables"
MODEM="90.189.х.х"
LINUX_OUTER="192.168.1.2"
LINUX_INNER="192.168.0.1"
COMP="192.168.0.0/24"
PORT_TCP="1234"
PORT_UDP="1235"

$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p tcp --dport 1234 -j DNAT --to $COMP
$IPTABLES -A PREROUTING -s $MODEM -d $LINUX_OUTER -i eth0 -p udp --dport 1235 -j DNAT --to $COMP
$IPTABLES -A FORWARD -i eth0 -p tcp --dport 1234 -d $COMP -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -p udp --dport 1235 -d $COMP -j ACCEPT
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p tcp --dport $PORT_TCP -j SNAT --to $MODEM
$IPTABLES -A POSTROUTING -s $COMP -d $LINUX_INNER -o eth1 -p udp --dport $PORT_UDP -j SNAT --to $MODEM

$IPTABLES -A FORWARD -o eth1 -p tcp --dport 1234 -d $MODEM -j ACCEPT
$IPTABLES -A FORWARD -o eth1 -p udp --dport 1235 -d $MODEM -j ACCEPT

так ругается Bad IP adress 192.168.0.0/24 Shocked

А если адрес какого-нить одного компа в локалке вставить, то будет "No chain/target/match by that name" 4 раза вылезать.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS Часовой пояс: GMT + 7
На страницу 1 2 3
Страница 1 из 3

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы