Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» ipchains, iptables etc

Автор: vav1107
Дата сообщения: 24.03.2005 12:36
Всем привет!

Столкнулся с такой заморочкой.

Локальная подсеть в инет ходит через проксяк. Хочу дать всем доступ в инет по 110-му порту, что бы не каждого маскарадить, а разом всю сетку разрешить.

Пробую

iptables -t nat -A POSTROUTING -j SNAT -s 192.168.xxx.0/24 --dport 110 --to-source internet_ip

но что-то не очень получается

Прошу подсказать знающих. Заранее большой спс!

Добавлено:
Командой

iptables -t nat -A POSTROUTING -j SNAT --src 192.168.xxx.xxx --to-source internet_ip

получаю простое преобразование адресов - все ок, все работает. но мне нужен только 110-й порт.

Плиз, подскажите куда копать! Туплю сапсем
Автор: Vo1
Дата сообщения: 15.10.2005 15:33
Подскажите как можно сделать портмаппинг на Iptables?
Есть comp1 с iptables и comp2 с apache.

Как сделать чтобы при http://comp1 c comp2 открывалась страница с апача comp2?

так не работает:
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.9 --dport 80 -j DNAT --to-destination 192.168.0.1:80

0.9- comp1
0.1- comp2


Автор: Dr_Spectre
Дата сообщения: 17.10.2005 09:01
vav1107

Цитата:
Локальная подсеть в инет ходит через проксяк. Хочу дать всем доступ в инет по 110-му порту, что бы не каждого маскарадить, а разом всю сетку разрешить.
Пробую
iptables -t nat -A POSTROUTING -j SNAT -s 192.168.xxx.0/24 --dport 110 --to-source internet_ip


надо FORWARD со 110 порта и на него открыть в обе стороны и в /etc/sysctl.conf (если есть) поставить
net.ipv4.ip_forward = 1

а вообще у iptables есть -j LOG и -о ULOG включают логгирование в syslog и ulogd. включаешь логгирование там где надо например в конце чтобы логил только дроппеные пакеты и анализируешь что надо открыть закрыть
Автор: alexxxss
Дата сообщения: 18.10.2005 13:22
ДОброго времени суток

задался целью порадовать пользователей халявным фтп из локалки резервного прова.
Соотвественно, имеется комп с 3 сетевухами, 1 из которых смотрит в локалку, 2 другие в разные провы.

В статике происал
route add -host ethtakoi-to
route add -host ipftp gw ip

, линукс стал бегать в инет по дефолтовому гейту, на хост по этому, теперь заворачиваю сетку в Iptables

/sbin/iptables -t nat -A POSTROUTING -s lnet -d inet -j SNAT --to-source ip
(адрес сетевухи, что смотрит в основного прова)
/sbin/iptables -t nat -A POSTROUTING -s lnet -d ipftp -j SNAT --to-source ip
(адрес интерфейса, который смотрит в сторону этого фтп),
вообщем не работает все модули подлкючены, в инет всё работает, в сторону халявного фтп - ничего. Может у кого-нибудь есть какие идеи? Заранее очень благодарен.
Автор: alexxxss
Дата сообщения: 19.10.2005 16:26
Проблема решилась, надо было в табличках дописать

$ipt -t nat -A POSTROUTING -o eth2 -j SNAT --to-source ip reservprov
$ipt -A FORWARD -s $lnet -i eth0 -o eth2 -p tcp --dport 21 -j ACCEPT
Автор: FastCat
Дата сообщения: 06.12.2005 13:49
Дабы не создавать еще одну такую же тему, тут вопрошу. А то совсем запутался

Есть точка доступа, которая раздает своим "беспроводным" клиентам ip из сети 192.168.1.*
Есть сервак на SLES-9 (с ip 10.28.0.75), который подключен к этой точке доступа.
Что на сервере надо скачать при помощи iptables, что бы:
1. Что бы беспроводные клиетны (из сети 192.168.1.*) видели сервер с ip 10.28.0.75
2. У беспроводных клиентов были доступны ТОЛЬКО: web, ftp, 8888 порт и только касательно ip 10.28.0.75
3. У беспроводных клиентов больше ничего не было доступно, кроме того что указанно в 2 пункте.

Заранее спасибо
Автор: Dr_Spectre
Дата сообщения: 07.12.2005 08:40

Цитата:
Что на сервере надо скачать при помощи iptables

это как? не знал что iptables может чегото скачивать
а вообще http://www.opennet.ru/docs/RUS/iptables/
Автор: SkySky
Дата сообщения: 28.02.2006 14:20
Хочу поставить patch "string" на iptables.
Имею kernel-2.6.12, iptables-1.3.5 и patch-o-matic-ng-20060226.tar.bz2

в patch-o-matic-ng-20060226 патча "STRING" вообще нет.

Скачал patch-o-matic-ng-20040621.tar.bz2
тут STRING есть, но он требует "kernel < 2.6.0"

Получается на kernel > 2.6.0 String установить невозможно вообще? или я не там ищю?
Автор: ADroot
Дата сообщения: 28.02.2006 16:41
Цитата:
>> Есть сервак на SLES-9 (с ip 10.28.0.75), который подключен к этой точке доступа.

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

Добавлено:
Насколько я понимаю в веточке 2.6 (в 2.6.14 - точно есть)- опция string match уже встроена в ядро, получается что ее нужно только подрузить если ядро откомпилировано с данным модулем
в конфиге ядра в разделе Netfilter опция должна выглядеть примерно так
опция string match support IP_NF_MATCH_STRING
Опция может принимать значения Y, N и M (модуль).
найди в конфиге ядра есть ли такая опция и во что она установлена (чтобы не перекомпилировать ядро десять раз )
а подружаем энтот модуль стандартно
/sbin/modprobe ip_nf_match_string
помоему должно работать...
Автор: teg
Дата сообщения: 01.03.2006 14:01
Помогите люди добрые!!!
Не могу понять как обойтись без NAT на одном из интерфейсов...
Подробности:
Есть 1 интернетовский и 5 локальных интерфейсов. У 4 из локальных адреса приватные их, конечно-же маскарадить надо, а у одного - нормальный адрес, его надо лишь только роутить.
Во я и не могу понять как это сделать - чтобы пакеты через этот интерфейсм не попадали в правила маскарадинга...
Неужели никто не может помочь?
Автор: Dr_Spectre
Дата сообщения: 01.03.2006 14:20

Цитата:
Во я и не могу понять как это сделать - чтобы пакеты через этот интерфейсм не попадали в правила маскарадинга...

не включайте на этот интерфейс маскарад и все. просто откройте форвард для сетки которая за этим интерфейсом.
Автор: teg
Дата сообщения: 01.03.2006 15:19
Угу, а как?
Сейчас там набор правил такой:

Код:
iptables -F
iptables -F -t nat
iptables -X

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -A INPUT -p all -j ACCEPT
iptables -A OUTPUT -p all -j ACCEPT
iptables -A FORWARD -p all -j ACCEPT

iptables -A INPUT -s $OUT_NET/$OUT_MASK -j LOG --log-prefix "exp: "

iptables -A INPUT -s 192.168.10.0/24 -d 192.168.2.0.24 -j DROP
iptables -A INPUT -s 192.168.10.0/24 -d 192.168.3.0.24 -j DROP
iptables -A INPUT -s 192.168.10.0/24 -d 192.168.4.0.24 -j DROP
iptables -A INPUT -s 192.168.10.0/24 -d 192.168.5.0.24 -j DROP

iptables -A INPUT -s 192.168.5.0/24 -d 192.168.2.0.24 -j DROP
iptables -A INPUT -s 192.168.5.0/24 -d 192.168.3.0.24 -j DROP
iptables -A INPUT -s 192.168.5.0/24 -d 192.168.4.0.24 -j DROP
iptables -A INPUT -s 192.168.5.0/24 -d 192.168.10.0.24 -j DROP

iptables -A INPUT -s 192.168.4.0/24 -d 192.168.2.0.24 -j DROP
iptables -A INPUT -s 192.168.4.0/24 -d 192.168.3.0.24 -j DROP
iptables -A INPUT -s 192.168.4.0/24 -d 192.168.5.0.24 -j DROP
iptables -A INPUT -s 192.168.4.0/24 -d 192.168.10.0.24 -j DROP

iptables -A INPUT -s 192.168.3.0/24 -d 192.168.2.0.24 -j DROP
iptables -A INPUT -s 192.168.3.0/24 -d 192.168.4.0.24 -j DROP
iptables -A INPUT -s 192.168.3.0/24 -d 192.168.5.0.24 -j DROP
iptables -A INPUT -s 192.168.3.0/24 -d 192.168.10.0.24 -j DROP

iptables -A INPUT -s 192.168.2.0/24 -d 192.168.3.0.24 -j DROP
iptables -A INPUT -s 192.168.2.0/24 -d 192.168.4.0.24 -j DROP
iptables -A INPUT -s 192.168.2.0/24 -d 192.168.5.0.24 -j DROP
iptables -A INPUT -s 192.168.2.0/24 -d 192.168.10.0.24 -j DROP

iptables -A INPUT -s $OUT_NET/$OUT_MASK -d $PASS_NET/$PASS_MASK -j ACCEPT

iptables -t nat -A POSTROUTING -o $OUT_IF -j MASQUERADE
Автор: Dr_Spectre
Дата сообщения: 01.03.2006 15:23

Цитата:
Что и как надо сделать?

http://www.opennet.ru/docs/RUS/iptables/
Автор: teg
Дата сообщения: 01.03.2006 15:43
Да смотрела я там...
не поняла как [b]не включать[b] NAT на определенном интерфейсе...
там все примеры - с локалкой и инетом, и ни слова как просто на одном из интерфейсов включить роутинг, а на остальных - маскарадинг
Автор: SkySky
Дата сообщения: 01.03.2006 21:14
ADroot
Ты прав начиная с 2.6.14 string перенсли в kernel.
Поставил себе 2.6.15. Установил IP_NF_MATCH_STRING в M.
Собрал. Установил. Загружаюсь...
набираю
/sbin/modprobe ip_nf_match_string
FATAL module not found.

/sbin/modprobe ipt_string (возможно вообще не к месту. В инете нашел где-то)
проходит, но iptables все равно не принемает
ни "-m string"
ни "--string"

куда копать?
Автор: ADroot
Дата сообщения: 02.03.2006 08:01
Ага, наверно модуль как то по другому называется попробуй
/sbin/modprobe hf_match_string а также спроси у модуля modinfo ipt_string
что он скажет тебе про этот модуль тот ли это модуль или нет
ну а так можно попробовать поискать в том месте где у тебя лежат все модули
обычно это /lib/modules/2.6.15/
поискать что то типа
find ./ -name '*string*.ko' -
и в найденом с помощью тойже modinfo найди нужный модуль
он должен быть в какой нибудь вложенной папке netfilter
и подгрузи его
И еще при компиляции ядра наскока я помню пакет netfilter нужно как то разрешить
использовать...
Автор: SkySky
Дата сообщения: 02.03.2006 08:17
ADroot
ipt_string.ko - есть лежит глубоко в Lib. /lib/moduls/***/Kernel/net/netfilter/ (примерно так)
подгружать через modprobe?

/sbin/modprobe ipt_string - я уже пробывал, проглотил но без эффекта для iptables.

Я правильно понимаю что в iptables все равно надо -m string указывать при загруженом модуле?

>И еще при компиляции ядра наскока я помню пакет netfilter
>нужно как то разрешить использовать...
У меня вся секция NETFILTER была в M выставлена. Или это где-то в NET искать надо?

Спасибо за помощь

Автор: Dr_Spectre
Дата сообщения: 02.03.2006 12:40

Цитата:
не поняла как [b]не включать[b] NAT на определенном интерфейсе...
там все примеры - с локалкой и инетом, и ни слова как просто на одном из интерфейсов включить роутинг, а на остальных - маскарадинг

включайте маскарад не по интерфейсу а по адресу источника.
роутинг включать не нужно если правильно прописаны интерфейсы должно само работать.
а насчет маскарада - делайте его не по интерфейсу а например по адресу источника используя ключ -s
Автор: SkySky
Дата сообщения: 03.03.2006 20:37
ADroot
>спроси у модуля modinfo ipt_string что он скажет тебе про этот модуль тот ли это модуль или нет
ответ: да это то что надо... 100%

lsmod:
Module Size Used_by
ipt_string 2816 0
iptable_filter 3456 1
iptables 20864 2 ipt_string,iptables_filter
... и т.д.

iptables -A INPUT -m string --string 'test' -j DROP
iptables v1.3.5: Couldn't load match 'string':/usr/local/lib/iptables/libipt_string.so& No such file
но в этом каталоге вообще только стандартные модули которые с iptables идут и потому он его там и не находит. Че делать? может /etc/modules.conf?


Автор: ADroot
Дата сообщения: 06.03.2006 08:12
а что выдает без опции -m string если юзать только --string 'test' будет ли он ругаться?
также попробуй скопировать файлик ipt_string в /usr/local/lib/iptables/libipt_string.so
хотя возможно просто нужно пересобрать iptables внимательно почитать какие у него опции присутствуют
Автор: SkySky
Дата сообщения: 06.03.2006 21:03
ADroot
Огромное спасибо. Пересобрал IPTABLES и все пошло. Ещё раз земной поклон.
Автор: Labutin
Дата сообщения: 31.05.2006 20:12
Архитектура следующая. Машина с Linux'ом является шлюзом в инет. На
ней два интерфейса (в инет и в локалку). Основные назначения сервера:
- Web-сервер
- Mail-сервер (Sendmail)
- POP3-сервер
- IMAP-сервер
- Прокси-сервер
- DNS-сервер (как кеширующий, так и держащий имена в зоне .ru)

В iptables по умолчанию у INPUT стоит ACCEPT + запрещающие правила.
Решил сделать как правильно. По умолчанию DROP + разрешающие правила.
Пишу примерно так:
*filter
:INPUT DROP
# local input
-A INPUT -i lo -j ACCEPT
# ICMP
-A INPUT -p icmp -j ACCEPT
# Squid for internal network
-A INPUT -s xx.xx.250.128/255.255.255.224 -p tcp -m tcp --dport 3128 -j ACCEPT
# SSH
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
# Sendmail
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# POP3
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
# IMAP
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
# Web
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

# Пропускать установленные соединения
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Пока все тривиально и просто. Трудности начинаются тут:
# DNS
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
Как тут быть с ответными пакетами от внешних DNS серверов? Какое
правило нужно добавить?

Дальше вопрос по FTP. Какие правила необходимы для FTP-сервера, чтобы
клиенты могли с ним работать как в пассивном так и в активном режиме?
Автор: tankistua
Дата сообщения: 31.05.2006 20:32
# iptables -L -n
Автор: ipmanyak
Дата сообщения: 01.06.2006 07:54
Labutin правило по tcp для DNS можешь убрать, если не будешь заниматься трансфером зон (оставь только udp ), для ftp открой порты 20 и 21 (для active ftp ) и часть портов выше 1023 для passive ftp , например 62000:64000
Автор: alexukua
Дата сообщения: 04.06.2006 16:08
Очень прошу помощи в задаче.
Есть сервер Fedora есть две сетевухи
eth1 - внутри (192.168.0.10 255.255.255.0 )
eth0 - интернет (193.84.50.хх 255.255.255.224 шлюз 193.84.50.33)
Нада через нат выпусти комппы с внутриней сетевухи
Уже и делал

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o eth0 -j SNAT --to-source 193.84.50.хх
iptables -t nat -A POSTROUTING -j SNAT --src 192.168.0.0/24 --to-source 193.84.50.хх
iptables -t nat -A POSTROUTING -o 193.84.50.хх -j MASQUERADE

Не получается

Вот что у меня сщас
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
193.84.50.32 * 255.255.255.224 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
default 193.84.50.33 0.0.0.0 UG 0 0 0 eth0



iptables -L -n

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

На машине на которой маскарадинг интернет есть.
Автор: FastCat
Дата сообщения: 27.06.2006 21:03
День Добрый!
Есть такая ситуация:

Сервер (под SuSe) с двумя интерфейсами:

eth0 -> 10.28.0.75, 255.255.255.0 (внутренняя сеть)
eth1 -> 192.168.1.1, 255.255.255.0 (внешная сеть)

1. Как сделать так, что бы пользуны сети 192.168.1.* видели _ТОЛЬКО_ один ip 10.28.0.75 (и при этом им были доступны на этом ip _ТОЛЬКО_: web, ftp и 8888 порт) ?

2. А пользователи сети 10.28.0.* видели сеть 192.168.1.* _ПОЛНОСТЬЮ_.

К сожалению я в этом деле iptables только начал разбираться! Помогите пожалуйста решить данную проблему.

p.s.
Сейчас на сервере только IP форвардинг включен. И все, всех в любом направлении видят.
Автор: tankistua
Дата сообщения: 27.06.2006 21:54
http://www.google.com.ua/search?hs=cuc&hl=ru&client=opera&rls=ru&q=iptables+tutorial&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&meta=lr%3Dlang_ru
Автор: KADABRA
Дата сообщения: 24.10.2006 09:55
Решил новую тему не открывать, т.к. и так куча тем по iptables.


Имеется:
сеть, диапазон 10.0.0.0/255.255.255.0
сервер 10.0.0.1 (интернет-шлюз)

клиент1 10.0.0.11
клиент2 10.0.0.13

Всё подключено к одному свичу.

На сервер работает pppoe сервер.
При подключении к серверу (pppoe) клентам выдаются ИП 10.0.101.11 и 10.0.101.13 соответственно (с маской подсети 255.255.255.255) и добавлюются правила в файлволл:
/sbin/iptables -t nat -A POSTROUTING -d ! 10.0.0.0/8 -s $CLIENT_IP -j MASQUERADE

Проблема следующая.
хоть в правилах и стоит -d ! 10.0.0.0/8, траффик между 10.0.101.11 и 10.0.101.13 роутится. Как сделать чтобы 10.0.101.11 и 10.0.101.13 не видили друг друга?
Автор: KADABRA
Дата сообщения: 25.10.2006 17:23
Проблему решил.
/sbin/iptables -t filter -A FORWARD -s 10.0.101.0/24 -d 10.0.101.0/24 -j DROP

Другие извращения не помогали.
Автор: XMblPb
Дата сообщения: 29.11.2006 05:15
#

Страницы: 12345

Предыдущая тема: Скорость сети::WinXP_Win98se


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.