nixp.ru v3.0

23 октября 2017,
понедельник,
09:15:26 MSK

DevOps с компанией «Флант»
yei написала 14 апреля 2007 года в 14:19 (344 просмотра) Ведет себя как женщина; открыла 14 тем в форуме, оставила 79 комментариев на сайте.

здраствуйте

вот, настроила правила

и возникли проблемы, локалка 192.168.1.0./24 не видит инет

eth0      inet addr:10.1.1.122  Bcast:10.1.1.255  Mask:255.255.255.0

eth1      inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0

lo        inet addr:127.0.0.1  Mask:255.0.0.0

ppp0      inet addr:84.201.248.236  P-t-P:84.201.241.36  Mask:255.255.255.255

fly4life

А с «FORWARD -P ACCEPT» работает?

Просто, ты по умолчанию запретила «сквозные» пакеты, а правил, разрешающих форвард с интерфейса eth1 на ppp0, я не вижу.

P.S. а где смысл городить столько новых цепочек? Они только путаницы добавляют…

yei

а как тогда лучше зделать?

fly4life

А ответить на вопросы? ;)

yei
а как тогда лучше зделать?

Так, как не будешь путаться сама ;).

yei
fly4life
А с «FORWARD -P ACCEPT» работает?
Anarchist
yei
Здраствуйте, вот с форфардингом вроде разобралась, по крайней мере сервер статистики провайдера пингует.

А должен?

Вообще в подобных ситуациях обычно бывает пользительно почитать что-нибудь типа /var/log/security.

fly4life
yei
Куда теперь капать дальше Сеснсей, чтоб определенным IP разрешить WWW, пробовала но как то не очень получилось (( ?

Догадываюсь, что теперь проблема с резолвингом имён? ;) Если ДНС используется провайдерский (я почему-то уверен, что именно такой и используется), UDP/53 в FORWARD тоже неплохо бы разрешить ;)

fly4life
Anarchist
А должен?

Вообще в подобных ситуациях обычно бывает пользительно почитать что-нибудь типа /var/log/security.

Это ещё что за такое и зачем в него пялиться?

fly4life@fly4life:~> ls -l /var/log/security
ls: невозможно получить доступ к /var/log/security: Нет такого файла или каталога
Dr. Evil

Видимо, в Дженту появился новый демон, кторый пишет туда много инетерсного, а мы о нем не знаем. Так просвяти, Anarchist!

Anarchist
fly4life
Это ещё что за такое и зачем в него пялиться?

fly4life@fly4life:~> ls -l /var/log/security
ls: невозможно получить доступ к /var/log/security: Нет такого файла или каталога

Ну если ты не пишешь хотя бы типические запреты файрволла в лог, то сам себе злобный буратино…

Anarchist
Dr. Evil
Видимо, в Дженту появился новый демон, кторый пишет туда много инетерсного, а мы о нем не знаем. Так просвяти, Anarchist!

Причём тут Gentoo?

Как настроишь, так оно и будет.

Dr. Evil
Anarchist
Ну если ты не пишешь хотя бы типические запреты файрволла в лог, то сам себе злобный буратино…

А зачем тебе видеть то, что блокирует firewall? Ты сам это правилами забокировал, чтобы не видеть! Что это изменит? Ты увидишь, что какой-то спам-бот пытается подцепиться к тебе по 22 порту? Ты поймешь, что молодец. Ибо запретил 22 порт!? :)

Anarchist
Причём тут Gentoo?

Как настроишь, так оно и будет.

Что настроишь? Вывод syslog вместо /var/log/messages в /var/log/security.

Если ты у себя что-то настроил, чтобы это что-то выводило тебе всю информацию  о работе системы в /var/log/security, то это совсем НЕ ЗНАЧИТ, что другим в этом файле надо что-то искать, потому что у них этого файла НЕТ. :-)

Где логика?

fly4life
Anarchist
Ну если ты не пишешь хотя бы типические запреты файрволла в лог, то сам себе злобный буратино…

Ага, не пишу. Интересно, а yei пишет? ;) Или твой пост был всё-таки больше на пообщаться, нежели нёс хоть какую-то смысловую нагрузку? ;)

yei
fly4life
Ага, не пишу. Интересно, а yei пишет? ;) Или твой пост был всё-таки больше на пообщаться, нежели нёс хоть какую-то смысловую нагрузку? ;)

не не пишу, зачем если проще iptables -L -n

зы:

щас пробую что нить падобное

$IP -t nat -A POSTROUTING -s 192.168.1.0/24 -m multiport --dport 80,21 -o ppp0 -j SNAT --to-source 84.201.248.236

yei
fly4life
Догадываюсь, что теперь проблема с резолвингом имён? ;) Если ДНС используется провайдерский (я почему-то уверен, что именно такой и используется), UDP/53 в FORWARD тоже неплохо бы разрешить ;)

мая первоначальная идея была настроить маршрутизацию между ppp0 & eth1

а патом тупо открывать порты…

fly4life
yei
мая первоначальная идея была настроить маршрутизацию между ppp0 & eth1

а патом тупо открывать порты…

В смысле, форвард?

Ну, настроила. Теперь тупо открывай ;).

fly4life
yei
не не пишу, зачем если проще iptables -L -n

Не, Анархист несколько о другом.

Dr. Evil
yei
мая первоначальная идея была настроить маршрутизацию между ppp0 & eth1

а патом тупо открывать порты…

тупо порты открывать не надо.

прежде, чем делать, подумай.

yei

Объяснипте пожалуйста почему не работает эта строчка?

$IPT -t nat -A POSTROUTING -p TCP -s 192.168.1.50 -m multiport --dport 21,25,80,110 -o ppp0 -j SNAT --to-source 10.128.248.236

даже форврдинг не работает (((

$IPT -A FORWARD -p ICMP -o eth1 --icmp-type 0 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p ICMP -o ppp0 --icmp-type 0 -i eth1 -j ACCEPT

$IPT -A FORWARD -p UDP -o eth1 -i ppp0 --dport 53 -j ACCEPT

$IPT -A FORWARD -p UDP -o ppp0 -i eth1 --dport 53 -j ACCEPT

$IPT -A FORWARD -p TCP -o eth1 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p TCP -o ppp0 -i eth1 -j ACCEPT

fly4life
yei
Объяснипте пожалуйста почему не работает эта строчка?

$IPT -t nat -A POSTROUTING -p TCP -s 192.168.1.50 -m multiport --dport 21,25,80,110 -o ppp0 -j SNAT --to-source 10.128.248.236

даже форврдинг не работает (((

$IPT -A FORWARD -p ICMP -o eth1 --icmp-type 0 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p ICMP -o ppp0 --icmp-type 0 -i eth1 -j ACCEPT

$IPT -A FORWARD -p UDP -o eth1 -i ppp0 --dport 53 -j ACCEPT

$IPT -A FORWARD -p UDP -o ppp0 -i eth1 --dport 53 -j ACCEPT

$IPT -A FORWARD -p TCP -o eth1 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p TCP -o ppp0 -i eth1 -j ACCEPT

Покажи правила целиком (а-то ты в предыдущих постах наисправляла, теперь кусками какими-то, да отрывками показываешь… чёрт ногу сломит).

yei

#!/bin/sh

fly4life

Хм. Правил для FORWARD нет вообще, а политика цепочки выставлена в 'DROP’. Как же оно у тебя заработает?..

yei
fly4life
Хм. Правил для FORWARD нет вообще, а политика цепочки выставлена в 'DROP’. Как же оно у тебя заработает?..

я их не писала потому что они были выше!

fly4life
yei
Объяснипте пожалуйста почему не работает эта строчка?

$IPT -t nat -A POSTROUTING -p TCP -s 192.168.1.50 -m multiport --dport 21,25,80,110 -o ppp0 -j SNAT --to-source 10.128.248.236

даже форврдинг не работает (((

$IPT -A FORWARD -p ICMP -o eth1 --icmp-type 0 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p ICMP -o ppp0 --icmp-type 0 -i eth1 -j ACCEPT

$IPT -A FORWARD -p UDP -o eth1 -i ppp0 --dport 53 -j ACCEPT

$IPT -A FORWARD -p UDP -o ppp0 -i eth1 --dport 53 -j ACCEPT

$IPT -A FORWARD -p TCP -o eth1 -i ppp0 -j ACCEPT

$IPT -A FORWARD -p TCP -o ppp0 -i eth1 -j ACCEPT

Видимо, не хватает правил для пакетов 'RELATED' и 'ESTABLISHED’. Попробуй для начала вместо своих правил для цепочек FORWARD и POSTROUTING такие правила:

$IPT -t nat -A POSTROUTING -s 192.168.1.50 -o ppp0 -j SNAT --to-source 10.128.248.236
$IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -m state --state NEW -i eth1 -j ACCEPTT
yei

а я так то пробовала, не хочит!

Dr. Evil

Если ты хочешь, чтобы заработала строка:

$IPT -t nat -A POSTROUTING -p TCP -s 192.168.1.50 -m multiport --dport 21,25,80,110 -o ppp0 -j SNAT --to-source 10.128.248.236

то это не корректно для обеспечения доступа в Интернет твоим узлам из подсети 192.168.1.0/24, так как nat надо делать на другой ip-адрес: 84.201.248.236.

В результате замечаний получаем:

FORWARD:

$IP -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED
$IP -A FORWARD -j ACCEPT -s 192.168.1.50 -m multiport --dport 21,25,80,110 -p tcp -i eth1 -o ppp0 -m state --state NEW
$IPT -A FORWARD -p UDP -o ppp0 -i eth1 --dport 53 -j ACCEPT -m state --state NEW

Обращение к DNS-серверам, конечно, можно оставить. Но лучше, по-моему, поднять у себя свой DNS. Это совсем не сложно.

POSTROUTING:

$IPT -t nat -A POSTROUTING -p TCP -s 192.168.1.50 -m multiport --dport 21,25,80,110 -o ppp0 -j SNAT --to-source 84.201.248.236

Давай результаты.

yei

[quote author=Dr. Evil link=board=faq;num=1176545976;start=15#25 date=04/24/07 в 10:37:58]

то это не корректно для обеспечения доступа в Интернет твоим узлам из подсети 192.168.1.0/24, так как nat надо делать на другой ip-адрес: 84.201.248.236. [/code]

просто денег на щену нету поэтому и ип такой

Dr. Evil

yei, я запутался :)

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

fly4life
yei
а я так то пробовала, не хочит!

А с '$IPT -P FORWARD ACCEPT’?

yei
fly4life
А с '$IPT -P FORWARD ACCEPT’?

а так темболее ((

yei

локалка 192.168.1.0./24 не видит инет, то есть то что за ppp0

yei

могет в роутинге проблема?

fly4life
yei
могет в роутинге проблема?

А сам линуксовый роутер инет «видит»?

yei
fly4life
А сам линуксовый роутер инет «видит»?

угумс

fly4life
yei
угумс

Тогда после всяких своих «route…» вводи последовательно следующие команды (пока никаких скриптов):

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -F POSTROUTING
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P POSTROUTING ACCEPT
iptables -A POSTROUTING -o ppp0 -j SNAT --to-source 10.128.248.236
yei

вобщем, нашла багу

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

alfa.neolink.ru *               255.255.255.255 UH    0      0        0 ppp0

localnet        *               255.255.255.0   U     0      0        0 eth1

10.1.1.0        *               255.255.255.0   U     0      0        0 eth0

default         10.1.1.254      0.0.0.0         UG    0      0        0 eth0

хотя я вроде как указала

route del default

route add default gw 10.128.248.236 dev ppp0

фиг знает пачему так

черт, теперь придется все с начала строить (((

yei

#!/bin/sh

IPT=«/sbin/iptables»

JA=«192.168.1.50»

route del default

route add default gw 84.201.248.236 dev ppp0

echo 1 > /proc/sys/net/ipv4/ip_forward

$IPT -F

$IPT -X

$IPT -F -t nat

$IPT -X -t nat

$IPT -F -t mangle

$IPT -X -t mangle

$IPT -t nat -F POSTROUTING

$IPT -P INPUT DROP

$IPT -P FORWARD DROP

$IPT -P OUTPUT ACCEPT

$IPT -N bad_packets

$IPT -N allowed

$IPT -N net1_inet

$IPT -A INPUT -i lo -j ACCEPT

$IPT -A OUTPUT -o lo -j ACCEPT

$IPT -A bad_packets -p TCP ! --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP

$IPT -A allowed -p TCP --syn -j ACCEPT

$IPT -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A allowed -j DROP

$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A FORWARD -p ALL -s 192.168.1.50 -i eth1 -o ppp0 -m state --state NEW -j ACCEPT

$IPT -A FORWARD -j DROP

$IPT -A INPUT -p TCP -s 192.168.1.0/24 -i eth1 -m multiport --dport 20,21,80 -j allowed

$IPT -A INPUT -p TCP -s 192.168.1.50 -i eth1 --dport 22 -j allowed

$IPT -A INPUT -p TCP -s $JA -i eth1 -j allowed

$IPT -A INPUT -p UDP -s $JA -i eth1 -j ACCEPT

$IPT -A INPUT -p ICMP -s $JA -i eth1 -j ACCEPT

$IPT -A INPUT -p ICMP -s 192.168.1.0/24 -i eth1 --icmp-type 8 -j ACCEPT #ping

$IPT -A INPUT -p UDP -i ppp0 --dport 1024:65353 --sport 53 -j ACCEPT

$IPT -A INPUT -p ICMP -i ppp0 --icmp-type 0 -j ACCEPT

$IPT -t nat -A POSTROUTING -s 192.168.1.50 -o ppp0 -j SNAT --to-source 84.201.248.236

вот, отредактированные правила,правда и сейчас без вопросов не обошлось:

1. почему после редактирования правил и удалении их, оставляя тока эти рабочие, ничего не работает, хотя после перезагрузки все работает???

2. с этими правилами работает только пинг, ничего более

как правильнее будет разрешить для 192.168.1.50 только ftp и www, а для 192.168.1.45 только www?

fly4life
yei
вот, отредактированные правила,правда и сейчас без вопросов не обошлось:

1. почему после редактирования правил и удалении их, оставляя тока эти рабочие, ничего не работает, хотя после перезагрузки все работает???

Не понял вопроса.

yei
2. с этими правилами работает только пинг, ничего более

как правильнее будет разрешить для 192.168.1.50 только ftp и www, а для 192.168.1.45 только www?

Добавь соответствующие правила в цепочке FORWARD.

Да, для 192.168.1.45 необходимо будет добавить правило в цепочку POSTROUTING (точно такое же, как и для 192.168.1.50).

yei
fly4life
Не понял вопроса.

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

такое ощущение как буто правило в таблицах не удаляются а накладываются друг на друга, а после перезагрузки эти дефолтовые правила работают!

вобщем, как правильно очистить таблицы, чтоб перед запуском все они были пустыми?

fly4life
Добавь соответствующие правила в цепочке FORWARD.

Да, для 192.168.1.45 необходимо будет добавить правило в цепочку POSTROUTING (точно такое же, как и для 192.168.1.50).

это то понятно, мня больше интересует как разрешить www и ftp, как правильнее тут поступить?

ибо с такой цепочкой только пинг работает!