Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / natd+ipfw / 16 сообщений из 16, страница 1 из 1
05.08.2004, 16:17
    #32637326
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Люди! Может кто-нибудь выложить человеческий файл rc.firewall с реально работающего "прозрачного" прокси на интернет? Только просьба не урезать - по типу это не надо, это лишнее, это не поймёт, а то что-ньть нужное срежете.
Ковыряюсь уже неделю, а всё что нарыл в интеренте по этому поводу - полушаманские инструкции написанные из головы. Половина не работает, а вторая половина - жутко дырявая....
P.S. FreeBSD 4.1
...
Рейтинг: 0 / 0
06.08.2004, 08:28
    #32637926
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Да кто же тебе нерезанный-то даст. Дураков открывать топологию сети нет. А резанный лови.

natd.conf

Код: plaintext
1.
2.
3.
log yes
use_sockets yes
same_ports yes
alias_address  207 . 46 . 156 . 102 

rc.conf

Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
#  -- sysinstall generated deltas -- # Mon Oct 29 21:31:07 2001 
# Created: Mon Oct  29   21 : 31 : 07   2001 
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.

########## Console ##########
moused_type="NO"
moused_enable="NO"

########## Networking ############
network_interfaces="ed0 ed1 lo0"
defaultrouter="207.46.156.101"
gateway_enable="YES"
hostname="hostname"

####### External interface ########
ifconfig_ed0="inet 207.46.156.102  netmask 255.255.255.252"

####### Internal interface ########
ifconfig_ed1="inet 192.168.11.1  netmask 255.255.255.0"

nfs_server_enable="NO"
saver="blank"
sshd_enable="NO"
usbd_enable="NO"

####### NAT #########
natd_enable="YES"
natd_flags="-s -m -u"
natd_interface="ed0"

###### Security #######
firewall_enable="YES"
firewall_type="/etc/firewall.conf"
tcp_keepalive="YES"
gateway_enable="YES"
tcp_extensions="YES"
sendmail_enable="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
kern_securelevel="2"
kern_securelevel_enable="YES"

firewall.conf

Код: 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.
31.
32.
33.
34.
add  00010  allow ip from any to any via lo0
add  00020  deny ip from any to  127 . 0 . 0 . 0 / 8 

add  00235  deny log tcp from any to  192 . 168 . 8 . 1   23 
add  00236  deny log tcp from any to  192 . 168 . 11 . 1   23 
add  00238  allow tcp from  192 . 168 . 11 . 18  to  192 . 168 . 11 . 1   20 , 21  via ed1
add  00268  allow tcp from  192 . 168 . 8 . 1  to  192 . 168 . 8 . 2   23 

#natd
add  00280  divert  8668  ip from any to any via ed0

#internet count
add  00310  count ip from  192 . 168 . 11 . 15  to any via ed1
add  00311  count ip from any to  192 . 168 . 11 . 15  via ed0

###############################################

add  00400  allow tcp from any to any established
add  00401  allow ip from  207 . 46 . 156 . 102  to any

#log nb
add  00410  deny log tcp from any to  207 . 46 . 156 . 102   135 - 139  via ed0
add  00411  deny log udp from any to  207 . 46 . 156 . 102   135 - 139  via ed0

# Internet users
add  05300  allow tcp from  192 . 168 . 11 . 15  to any  80 , 8080 , 8081 , 8101 , 53 , 20 , 21  via ed1
add  05301  allow udp from  192 . 168 . 11 . 15  to any  53  via ed1

#############################

add  65428  allow icmp from any to  192 . 168 . 11 . 0 / 24  icmptypes  0 , 11 
add  65429  allow tcp from any  20 , 21  to  192 . 168 . 11 . 0 / 24   1024 - 65534 
add  65430  allow ip from  192 . 168 . 11 . 1  to any via ed1

add  65532  deny ip from any to any

=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
06.08.2004, 09:59
    #32638029
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Зачем нужен natd.conf, если ключи natd явно указаны в rc.conf? А насчёт топологии сети - нужна она мне как рыбе зонтик...
За ответ спасибо - попробуем с этим разобраться - если не сильно обрезал - должно заработать :)
...
Рейтинг: 0 / 0
06.08.2004, 10:34
    #32638106
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Ещё вопрос - опция gateway_enable="YES - обязательна? Смущает она меня - я ж не шлюз делаю...
...
Рейтинг: 0 / 0
06.08.2004, 11:43
    #32638261
alex_k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
если прозрачный прокси - то что я думаю, то ты делаешь как раз шлюз, только с "особенностями".
а особенности в том, что он определенные пакеты не отправляет дальше, не зарубает, а перенаправляет на определенный порт определенного хоста.
...
Рейтинг: 0 / 0
06.08.2004, 12:29
    #32638402
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Зачем нужен natd.conf, если ключи natd явно указаны в rc.conf? А насчёт топологии сети - нужна она мне как рыбе зонтик...
За ответ спасибо - попробуем с этим разобраться - если не сильно обрезал - должно заработать :)

Все, да не все. Ключевой параметр - alias_address только в файле. Почему? Исторически у нас так сложилось

=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
06.08.2004, 14:37
    #32638778
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Ладно - вот что получилось (natd.conf в принципе нет :)) Если не сложно - скажите где косяки - наверняка где-ньть дырка есть.... Работает всё, только ping`и не идут, пока не настраивал. Сразу говорю - гоняется на тестовой машине, к одной сетевухе прислюнявлена локалка (192.168.0.0) играющая роль интернета, а к другой мой комп (10.0.0.0).

rc.conf
Код: 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.
kern_securelevel_enable="NO"
nfs_reserved_port_only="YES"
sendmail_enable="YES"
sshd_enable="YES"
gateway_enable="YES"
tcp_extensions="YES"
tcp_keepalive="YES"
tsp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
firewall_enable="YES"
firewall_type="/ets/rc.firewall"

######  NAT   #######

natd_enable="YES"
natd_interface="rl0"
natd_flags="-m -s -l"
# This file now contains just the overrides from /etc/defaults/rc.conf.
# Please make all changes to this file, not to /etc/defaults/rc.conf.

mousechar_start="3"
font8x8="cp866-8x8"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
keymap="ru.koi8-r"

ifconfig_rl1="inet 10.0.0.1  netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.0.253  netmask 255.255.255.0"
defaultrouter="192.168.0.254"
hostname="FreeBSD"

rc.firewall
Код: 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.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
#!/bin/sh

# vvodim peremennie:

FwCMD="/sbin/ipfw"
LanOut="rl0"
LanIn="rl1"
IpOut="192.168.0.253"
IpIn="10.0.0.1"
NetMask="24"
NetIn="10.0.0.0"
NetOut="192.168.0.0"

# sbrasivaem ranee ustanowlennie prawila:
${FwCMD} -f flush

# proveryaem vremennie pravila:
${FwCMD} add check-state

${FwCMD} add deny ip from ${NetIn}/ 16  to any in via ${LanOut}
${FwCMD} add allow ip from any to any via lo0

# NATD
${FwCMD} add divert natd ip from any to any via ${LanOut}

# internet counter
${FwCMD} add count ip from ${NetIn}/${NetMask} to any via ${LanIn}
${FwCMD} add count ip from any to ${NetIn}/${NetMask} via ${LanOut}

########################### 3 
${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

# internet users
${FwCMD} add allow tcp from ${NetIn}/${NetMask} to any
${FwCMD} add allow udp from any to any  53  via ${LanOut}
${FwCMD} add allow udp from any  53  to any via ${LanOut}

${FwCMD} add allow icmp from any to ${NetIn}/${NetMask} icmptypes  0 , 11 
${FwCMD} add allow tcp from any  20 , 21  to ${NetIn}/${NetMask}  1024 - 65534 
${FwCMD} add allow ip from ${IpIn} to any via ${LanIn}

${FwCMD} add allow all from any to any via ${LanIn}
...
Рейтинг: 0 / 0
06.08.2004, 15:54
    #32638959
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Ну файрвол у тебя конечно дырка :) но это уже следующий вопрос. И параметр alias_address тебе может понадобиться, когда на внешнем интерфейсе будет несколько ip висеть. А пинги не идут, потому что нет правила, пропускающего пакеты icmp типа 8 (эхо-запрос).
=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
06.08.2004, 17:00
    #32639086
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Что дырявый я сам заметил, когда попробовал через него свой комп пошестить :) А вчём конкретно дырявый пока не разобрался - подскажите - плиз...
...
Рейтинг: 0 / 0
06.08.2004, 19:07
    #32639274
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Кстати - файл rcc.firewall просматривается снизу вверх или сверху вниз? Всюду разные сведения...
...
Рейтинг: 0 / 0
07.08.2004, 12:08
    #32639498
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Дырявый в правилах, который просматриваются сверху вниз, сделай ipfw show .... и еще последнее правило рекомендую
{FwCMD} add deny all from any to any
...
Рейтинг: 0 / 0
08.08.2004, 01:02
    #32639770
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Oerrи еще последнее правило рекомендую
{FwCMD} add deny all from any to any

Это правило присутствует. Его firewall сам дописывает. Во всяком случае в этой конфигурации. (Если влепить "OPEN" то он сам последним дописывает {FwCMD} add allow all from any to any )
А конкретных, и явно видных дырок нет?
...
Рейтинг: 0 / 0
09.08.2004, 09:43
    #32640291
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Ты не понял. Тебе предложили последним правилом сделать DENY any to any, а у тебя сейчас ALLOW (разрешить). Поэтому принимаются все входящие запросы. Сделаешь DENY, тогда входящие запросы на соединение не будут проходить. А исходящие будут, потому что есть правило ALLOW ESTABLISHED на вход и для пользователя разрешение на выход.

Еще у тебя для пользователя разрешены все исходящие соединения. Как правило это не нужно. Разрешается только выход на необходимые порты. 80, 8101 и пр. для http, 25 и 110 - SMTP и POP3, 443 - HTTPS и так далее. Список сервисов в /etc/services
=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
09.08.2004, 09:44
    #32640293
Yet another cat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Блин, как голова болит после вчерашнего...
=====
Cat и его покойный друг Chicago
...
Рейтинг: 0 / 0
09.08.2004, 13:33
    #32640842
lissyara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Набираю:ipfw -a list, на что он мне выдаёт список правил, и последнее:
Код: plaintext
 65535  deny ip from any to any
Но я это правило нигде не писал! Пробовал ставить в rc.conf опцию
firewall_type="OPEN", тогда появляестя правило:
Код: plaintext
 65535  allow ip from any to any
Кстати, последнее правило сменить невозможно, кроме как сменой типа файрволла - я пробовал, он при загруке правил ругается.
...
Рейтинг: 0 / 0
09.08.2004, 14:42
    #32641060
Oerr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
natd+ipfw
Проведи подробный анализ rc.firewall!!!! и тебе сразу станет ясно что такое OPEN CLOSED or FUCKINGUSERS :)
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / natd+ipfw / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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