Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / NATd / 23 сообщений из 23, страница 1 из 1
09.02.2006, 22:59:45
    #33535605
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Интересная ситуёвина:
Есть локалка домовая - 10.0.0.0
Я от локалки отделён фряхой 6.0. Внутренняя сеть 192.168.254.0
На фряхе natd. кусок файрволла:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
FwCMD="/sbin/ipfw"
LanOut="xl0"
LanIn="rl0"
#LanTunnel="gif0"
IpOut="10.21.64.215"
IpIn="192.168.254.254"
NetMask="24"
NetIn="192.168.254.0"
NetOut="10.21.64.0"
...........................
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
.....................
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut}  21  via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut}  40000 - 65534  via ${LanOut}
строка запуска:
Код: plaintext
natd -interface xl0 -m -u
На машине ftp. Так вот входящие-исходящие пакеты по ftp - когда народ с локалки лезет на
машину проходят через nat - соответственно загрузка cpu под 100% (машина слабенькая)...

И так и с ключом u и без него...
Раньше стояла 4.11 с ЭТИМ же файрволлом на этой же машине - всё было пучком...

============
я чё-то недокурил в манах, или что-то поменялось в реализации nat, что забыли отразить в
мане?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 07:02:09
    #33535854
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Ставлю одну копейку на
Код: plaintext
1.
${FwCMD} add allow tcp from any to ${IpOut}  20 - 21  via ${LanOut}LanIn}

PS... 6.0 не стабильна.. я вот на GW 4.10 держу и не жужжу, хотя машинка... эх... и когда же это железо умрет? :)


http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 07:06:47
    #33535857
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
праститте за "LanIn}" :)

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 09:07:56
    #33535986
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
да я не про то....
почему, с какого перепугу пакеты наружние в NATd лезут? Это внешнее
соединение, человек коннектится снаружи на этот вервер... их не надо
натить...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 09:08:56
    #33535988
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
мдя... чё-то у меня тоже с утра с клавой


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 09:10:18
    #33535994
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
а почему шоха...
поиграться захотелось. Так-то у меня везде 4.11 живёт....


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 10:10:01
    #33536169
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Что-то я совсем запутался в схемке... можнокартинку или псевдографику задействовать?

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 11:07:21
    #33536408
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
main_comp(192.168.254.1) -> FreeBSD(192.168.254.254&10.21.64.215) -> local intranet -> inet

Есть люди в локал интренете, для них открыт доступ по FTP на FreeBSD. Так вот траффик к ним и от них почему-то проходит через NAT. Хотя по идее не должен...

===
интересности - он в NAT попадает, но в логах ftpd адреса внешние.
Откуда я взял что в NAT попадает - по загрузке проца, его на 60% при скачивании ими файлов, грузит natd... Если убить NATd то скорость у них резко возрастает и на первое место по ресурсам вылазиет ftpd....

===
вот и не пойму, как его заставить обойти nat... был б снаружи инет - ключ -u однозначно решил бы проблему. Но снаружи частная сеть...

И почему в 4.11 работало нормально?....
...
Рейтинг: 0 / 0
10.02.2006, 12:27:49
    #33536701
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Теперь понятно. Я бы переписал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
wCMD="/sbin/ipfw"
LanOut="xl0"
LanIn="rl0"
#LanTunnel="gif0"
IpOut="10.21.64.215"
IpIn="192.168.254.254"
NetMask="24"
NetIn="192.168.254.0"
NetOut="10.21.64.0"
...........................
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}

.....................
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut}  20 - 21  via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut}  40000 - 65534  via ${LanOut}
на самом деле эти пакеты натятся вот из за этого
Код: plaintext
1.
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
Что именно вы хотели сделать этой строкой?

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 12:44:03
    #33536771
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
таки без этой строки не работает инет у меня (192,168,254,1)
man natd
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
...................
You will need to adjust the /etc/rc.firewall script to taste.  If
you are not interested in having a firewall, the following lines
will do:
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ed0
/sbin/ipfw add pass all from any to any
....................
эти две строки - замена этой одной. с ней (одной) то же самое....


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 13:25:35
    #33536906
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
lissyara : траффик к ним и от них почему-то проходит через NAT. Хотя по идее не должен...

из за any и попадает..
Код: plaintext
1.
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
К сожалению у меня нет под рукой мана, но если я правильно понимаю принцип работы, то в данном случае ${IpOut} то, кому возвращается пакет и если указать внутреннюю сеть ${NetIn}/${NetMask} то все должно работать
Код: plaintext
1.
${FwCMD} add divert natd ip from any to ${NetIn}/${NetMask} in via ${LanOut}
или я не прав?


http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 13:47:00
    #33536977
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
это NATd - на внешнем интерфейсе не может быть пакетов для внутренней сети
в принципе
там всё внешняя сеть и все пакеты идут на внешний IP...


===
точно...
а natd разбирается куда их - внутрь сети или в фаер вернуть...
так что вывод у меня один - кривая реализация natd, или он стал жрать
принципиально больше ресурсов...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 14:18:28
    #33537095
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Ладно, приду домой посмотрю ман, сделаю эксперимент... остается выяснить различает ли ipfw транслированный трафик.

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 15:00:55
    #33537282
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
На крайняк если не распознает можно сделать
Код: plaintext
1.
2.
3.
4.
${FwCMD} add skipto NNN ip from any to ${IpOut}  20 - 21  in via ${LanOut}
${FwCMD} add skipto NNN ip from ${IpOut}  20 - 21  to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
NNN

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 15:05:04
    #33537305
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Тема! Я и не подумал!
(тока придётся опытным путём выяснять - смогу ли я, изнутри лазить на
внешние ftp - ответы от них тоже будут skipto - вероятно )


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10.02.2006, 18:56:57
    #33538119
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
C другими ftp будет все нормально, так как правило затрагивает только ${IpOut} 20-21 .
А с nat и 6.0 действительно странности, походу схему взаимодействия поменяли... и где-то забыли об это сказать, либо нужно отказываться от такой связки если такие ресурсы требуются...
Я честно говоря STABLE ждать буду...

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 18:58:38
    #33538120
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Хотя блин.. с этим интранетом... я уже прямо не знаю... может есть возможность зарутить сети?

http://surgutnet.ru
...
Рейтинг: 0 / 0
10.02.2006, 20:58:26
    #33538266
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
OerrХотя блин.. с этим интранетом... я уже прямо не знаю... может есть возможность зарутить сети?

http://surgutnet.ru
неа... если я правильно понял неправильно написанное слово `зарутить` :)

воткнул
Код: plaintext
 01400  skipto  1700  tcp from me to any
жду клиентов... :) Когда потащщут видно будет...
...
Рейтинг: 0 / 0
10.02.2006, 21:40:09
    #33538284
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
#ipfw list
 00100  check-state
 00200  allow ip from any to any via lo0
 00300  deny ip from  192 . 168 . 0 . 0 / 16  to any in via xl0
 00400  deny ip from  172 . 16 . 0 . 0 / 12  to any in via xl0
 00500  deny ip from any to  192 . 168 . 254 . 0 / 24  via xl0
 00600  deny tcp from any to any dst-port  135 - 140  via xl0
 00700  deny tcp from any  135 - 140  to any via xl0
 00800  deny tcp from any  445  to any via xl0
 00900  deny tcp from any to  10 . 21 . 64 . 215  dst-port  144 - 1026  via xl0
 01000  deny tcp from any  3000 - 3001  to any via xl0
 01100  deny tcp from any to any dst-port  3000 - 3001  via xl0
 01200  deny tcp from any to  10 . 21 . 64 . 215  dst-port  3306  via xl0
 01300  fwd  192 . 168 . 254 . 254 , 2121  tcp from  192 . 168 . 254 . 0 / 24  to any dst-port  21  via xl0
 01400  fwd  127 . 0 . 0 . 1 , 3128  tcp from  192 . 168 . 254 . 0 / 24  to any dst-port  80  via xl0
 01500  skipto  1900  ip from me to any
 01600  divert  8668  ip from  192 . 168 . 254 . 0 / 24  to any out via xl0
 01700  divert  8668  ip from any to  10 . 21 . 64 . 215  in via xl0
 01800  allow gre from any to any via xl0
 01900  allow gre from any to any via rl0
 02000  allow tcp from any to any established
 02100  allow ip from  10 . 21 . 64 . 215  to any out xmit xl0
 02200  allow udp from any  53  to any via xl0
 02300  allow udp from any  123  to any via xl0
 02400  allow icmp from any to any icmptypes  0 , 8 , 11 
 02500  allow tcp from any to any via rl0
 02600  allow udp from any to any via rl0
 02700  allow icmp from any to any via rl0
 02800  allow tcp from any to  10 . 21 . 64 . 215  dst-port  21  via xl0
 02900  allow tcp from any to  10 . 21 . 64 . 215  dst-port  40000 - 65534  via xl0
 65535  deny ip from any to any
таже мура... прям растерян... надо заметить у меня ещё и ipfw2...
...
Рейтинг: 0 / 0
13.02.2006, 07:06:03
    #33539844
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
прямо мистика......

Смотрим какие были планы на лето 2005...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Поддержка NAT в ipfw2 и улучшения libalias: Включенный во FreeBSD межсетевой экран ipfw2 на данный момент не поддерживает NAT на уровне ядра, хотя его архитектура предусматривает расширение и базовый механизм динамического создания правил и их просмотра в ядре уже присутствует. Одновременно с этим пользовательский NAT поддерживается в библиотеке libalias, которая недавно была преобразована в модуль ядра. У проекта две следующие цели:
создание механизма для вызова LibAlias из ipfw2
пересмотр LibAlias для улучшения её структур, в частности: 
применять, исследовать и, возможно, оптимизировать базовые операции (создание сеанса, поиск и уничтожение; восстановление tcp-потока);
обеспечить механизм регистрации/отключения обработчиков протоколов вместо манипуляции с исходным кодом;
улучшить соответствие структуры данных ядра и libalias для возможного снижения количества копий.
Указанное выше относится к  5 .x и -current, а возможно также и к  4 .x. Претенденты должны быть знакомы с вопросами работы сети, связанными с NAT, а также стеком сетевых протоколов ядра. Координирует работы Luigi Rizzo.
Смотрим что в ChangeLog-e..
Код: plaintext
1.
A bug in the libalias library which causes a core dump when the -reverse option is specified in natd( 8 ) has been fixed.
В мане..
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Packets diverted to userland, and then reinserted by a userland process
may lose various packet attributes.  The packet source interface name
will be preserved if it is shorter than  8  bytes and the userland process
saves and reuses the sockaddr_in (as does natd( 8 )); otherwise, it may be
lost.  If a packet is reinserted in this manner, later rules may be
incorrectly applied, making the order of divert rules in the rule
sequence very important.
Другими словами я прямо даже не знаю :(

http://surgutnet.ru
...
Рейтинг: 0 / 0
13.02.2006, 09:11:57
    #33539918
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
А откуда статейка-то?
Там координат этого Луи нету? Я б ему написал...

Надо сорцы обновить - может чё и правда нетак.... У меня ж первый релиз, с
дыркой в фаере.
всё недосуг...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
13.02.2006, 09:43:42
    #33539976
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
Обрывки с официального. Соответственно оттуда же координаты...
http://www.freebsd.org/ru/projects/summerofcode.html
rizzo@[remove this fuck] icir.org

http://surgutnet.ru
...
Рейтинг: 0 / 0
05.09.2006, 22:38:36
    #33966627
Orlic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NATd
lissyara
Код: plaintext
1.
2.
3.
4.
5.
#ipfw list
 00100  check-state
............................................
 02000  allow tcp from any to any established
............................................
 65535  deny ip from any to any


зачем одновременно правила check-state и established?

если был пакет, ИНИЦИИРУЮЩИЙ СОЕДИНЕНИЕ и разрешенный правилом с опцией SETUP keep-state, то дальнейшие пакеты этого соединения, равно как и ответные пакеты, попадают под правило check-state... Тогда остальные пакеты, без флага SYN, но и не попавшие под check-state нельзя считать "законными" пакетами, так как они не инициировали соединение, не создали динамическое правило, значит, левые пакеты....

Я прав или нет?

С другой стороны, если срок жизни динамического правила истек, то "правильный" пакет не обработается по соответствующему динамическому правилу в check-state, значит, должно быть правило allow established... Маленькая дырочка в правилах...

Как быть?..
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / NATd / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]