Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Интернет шлюз на FreeBSD. (http://forum.oszone.net/showthread.php?t=202659)

kyzmi4 22-03-2011 11:48 1640837

Интернет шлюз на FreeBSD.
 
Вложений: 1
Здравствуйте уважаемые форумчанине и форумчанки. =)
История не нова, но всеже.
Завили к нам в здание 10 мбитный интернет. Сразу возник вопрос это раздать, поделить и себя не обделенным оставить. Решение данного вопроса я возложил на себя. В копилке навыков имеется представление о построении сетей, настройки. Также имеется в копилке настройка файлового сервера на FreeBSD с интеграцией с AD. Сейчас есть интернет пропускной способностью 2 мбит, шлюз на слаке и полная анархия, кто торренты качает, кто Youtube, пока лечится только arp -s ip fake_mac. Дабы чувствовать себя в этой теме как рыба в воде, мною был прочитан вдоль и поперек лисяра
читать дальше »
http://www.lissyara.su
, handbook и почитанны местные темы. И прежде чем приступать к практическим действиям, хочу спросить у вас, правильно ли я все понял и вник в суть:


Это как я ее назвал схематическая схема.

Как это должно работать:
1) Есть отдел занимающийся оформлением документов, им кроме как 80, 8080,443 и почтовых портов ничего не надо. (Я так сказал =)) Все они дружно ходят через прозрачный прокси на сквиде, а почта заворачивает на НАТ. Все остальные порты, весело и непринужденно режутся, кромсаются фаерволом. И мало того будет стоять ограничение по ширине канала, отдадим им 2 мбита.
2) Есть Very Important Person, это начальство и другие. Они создают на своем компе VPN подключение через стандартные функции Окон. И качают, и делают что хотят. Их всех заворачивает на НАТ.

Что будет использоватся:
DCHP - isc-dhcp3-relay Для раздачи IP
DNS - BIND Кеширующий
SQUID - Собственно сама прокси
Rejik - Будем резать, будем бить, в интернет сюда ходить, а сюда не ходить.
SAMS - Посмотреть, другим показать, кто куда лазиит.
Apache, MySQL, PHP 5 - для поддержания веб морды SQUID´a
NAT - еще не определился с программой, изучаю этот вопрос.
IPFW - фаервол, отворот-поворот.
VPN - по протоколу PPTP, программы PoPToP или mpd.

Серия вопросов:
1) Помогите определится с NAT.
2) Нужен ли кеширющий ДНС, если есть прокси?
3) При VPN подключении к серверу создается еще один интерфейс, как с этим справится фаер или же в нем можно будет указать список интерфейсов, а не по одному прописывать. (Вопросом еще не занимался, не гуглил)
4) На Сквиде морда Самс, а на Нате как вести статистику?

К процессу преступлю только недельки через две, не хочу прыгать сразу в прорубь.

В процессе, сборки, установки, настройки буду отписываться из чего потом собирем RTFM.

ashota 25-03-2011 10:52 1643458

У меня все точно так же сделано, кроме VPN.
Цитата:

Цитата kyzmi4
Помогите определится с NAT. »

Для NAT использую ipfw
Цитата:

Цитата kyzmi4
Нужен ли кеширющий ДНС, если есть прокси? »

Если все только и лезут в инет через прокси, тогда и в принципе не нужен. Но у тебя есть DHCP. А в связке в DDNC очень даже приятная вещь!

kyzmi4 29-03-2011 17:33 1646588

Да, есть DHCP. Щас пытаюсь настроить DDNS. Обложен весь книжками и сотни открытых вкладок. Второй день бьюсь, но никак =\ В книжке написанно настраиваешь ДНС, потом типа делаешь nslookup ya.ru на машине с FreeBSD и приходит ответ Server: my_domain; Address: 127.0.0.1#53; Non-authoritative answer: Other servers. Ну вот не хочет.

Кстати веду блог по моим мучениям http://kyzmi4-freebsd.livejournal.com/ =)

dmitryst 29-03-2011 18:03 1646602

По пунктам
Цитата:

Цитата kyzmi4
1) Помогите определится с NAT.
2) Нужен ли кеширющий ДНС, если есть прокси?
3) При VPN подключении к серверу создается еще один интерфейс, как с этим справится фаер или же в нем можно будет указать список интерфейсов, а не по одному прописывать. (Вопросом еще не занимался, не гуглил)
4) На Сквиде морда Самс, а на Нате как вести статистику? »

1 - В связке ipfw+natd все работает отлично. Будете использовать pf - у него есть своя команда маскарадинга прямо внутри фаерволла (не интересовался, ибо классический вариант устраивает на 100%)
2 - я поставил pdnsd (есть в портах) - маленький, шустрый, без простыней конфигов. Работает отлично.

3 - VPN не использую, использую статику, т.к. так рапределять кто ВИП, а кто негр - проще. Раделение доступа к ресурсам через фаер или SQUID, причем в последнем можно даже по расписанию (типа всем везде можно в воскресенье и в субботу после 5 вечера, удобно)

4 - зачем? на НАТе? статистику? Хотите знать всё - tcpdump дампите и смотрите, смотрите, смотрите... очень долго смотрите ... :biggrin:

kyzmi4 30-03-2011 11:00 1647090

tcpdump, это да хорошо. Но не получается у моего мозга обрабатывать такое количество информации бегущей строкой =) (кто то наверно скажет про опцию -w tcpdump).
Всетаки не могу немного разобратся с DNS.
По моему мнению что я хочу пока добится:
1.) 127.0.0.1 переводится в inet.fms
2.) inet.fms переводится в 127.0.0.1
Подключаю виндовую машину получаю IP 192.168.1.10, делаю nslookup 127.0.0.1 192.168.1.1 получаю:
*** Can´t find server name for address 192.168.1.1: Non-existent domain # Оно и понятно, 192.168.1.1 я не настраивал еще зону
Server: UnKnown
Address: 192.168.1.1

Name: inet.fms
Address: 127.0.0.1

Но вот когда я делаю ping inet.fms, не удалось обнаружить узел, хотя поидеи должен меня пропинговать.

Мои догадки это то что надо настоить zone inet.fms.

Конфиги:
named.conf

PHP код:

options {
    
directory    "/etc/namedb/working";
    
pid-file    "/var/run/named/pid";
    
dump-file    "/var/dump/named_dump.db";
    
statistics-file    "/var/stats/named.stats";
    
listen-on 127.0.0.1192.168.1.1; }; 
        
forward first;
    
forwarders {
        
21x.45.0.3;
        
21x.45.2.5;
        
8x.245.145.6;
    };
query-source address port 59;
};

zone "." {
 
type hint;
  
file "/etc/namedb/named.root";
   };
zone "0.0.127.in-addr.arpa" {
 
type master;
  
file "/etc/namedb/master/localhost.rev";
   };
/*
zone "inet.fms" {
 type master;
  file "/etc/namedb/master/inetfms.db";
   };
zone "1.168.192.in-addr.arpa" {
 type master;
  file "/etc/namedb/master/192168.db";
   };
*/ 

localhost.rev
PHP код:

$TTL 3600
IN SOA inet.fmsroot.inet.fms. (
2011032900  ;Serial
3600        
;Refresh
900         
;Retry
3600000     
;Expire
3600 
)      ;Minimum
  IN NS inet
.fms.
1 IN PTR inet.fms.
inet.fmsIN A 127.0.0.1 

rc.conf
PHP код:

hostname="inet.fms"
keymap="ru.koi8-r.win"
font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keyrate="fast"
defaultrouter="21x.100.148.53"
sshd_enable="YES"
named_enable="YES"
ifconfig_fxp0="inet 21x.100.148.54  netmask 255.255.255.252"
ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0"
dhcpd_enable="YES"
dhcpd_ifaces="xl0" 


dmitryst 30-03-2011 11:56 1647133

Цитата:

Цитата kyzmi4
tcpdump, это да хорошо. Но не получается у моего мозга обрабатывать такое количество информации бегущей строкой (кто то наверно скажет про опцию -w tcpdump). »

это был здоровый сарказм :). Ну зачем весь ВЕСЬ траффик, объясните? Для нормальной жизни админа достаточно смотреть логи/статистику SQUID (это http - кто что откуда сколько качал, я пользовался lightsquid), что-нибудь на ftp (topftp или утилиту статистики какую), остальной траффик смотрим iftop-ом или trafshow.
Насчет ДНС - я не понял, вам именно полноценный ДНС нужен? Нужно держать имя для белого IP? Или просто чтобы "всё работало"?

kyzmi4 30-03-2011 13:15 1647188

Цитата:

Цитата dmitryst
Ну зачем весь ВЕСЬ траффик, объясните? »

Параноидальный вуеризм =)

Цитата:

Цитата dmitryst
Насчет ДНС - я не понял, вам именно полноценный ДНС нужен? Нужно держать имя для белого IP? Или просто чтобы "всё работало"? »

Да, полноценный ДНС, точнее ДДНС. Чтобы к имени компа еще прикручивался домен. Имя для белого IP нет (хотяяя, ну это в будующем). С моими конфигами почему не форвардится inet.fms в 127.0.0.1, товарищ телепат?

P.S. Целый день пытался впихнуть в видеорегистратор 1996 года с IDE HDD, жесткий SATA через переходник SATA -> IDE, не прокатило. Так и не занимался ДДНС, догадываюсь что объема прочитанного достаточно для настройки, но вот не хватает малюсенького пинка =) С горя заказал себе книгу ¨DNS и BIND¨.

dmitryst 30-03-2011 13:50 1647208

Цитата:

Цитата kyzmi4
Да, полноценный ДНС, точнее ДДНС. »

тут я вам не помощник.

Цитата:

Цитата kyzmi4
почему не форвардится inet.fms в 127.0.0.1, товарищ телепат? »

товарищ коллега, для начала покажите ваш /etc/hosts (вообще, туда-то и надо добавить 127.0.0.1 inet.fms)

Жёсткий оффтоп! :laugh:
Цитата:

Цитата kyzmi4
P.S. Целый день пытался впихнуть в видеорегистратор 1996 года с IDE HDD, жесткий SATA через переходник SATA -> IDE, не прокатило. »

у нас продается вот такая кака http://ultra.ge/product_details_eng...._products=3974. С ней работает почти все, где я ее применял. Там чип JB36х, типа стандартный, видится из биоса и прекрасно загружается. Насчет регистратора не знаю.

kyzmi4 31-03-2011 09:47 1647761

Ну вообщем я его победил. Все всем выдается, получается и обновляется.

/etc/hosts
PHP код:

127.0.0.1 localhost 

Волнует меня только то, что команда dig @127.0.0.1 localhost. a не выдает ответа =\


Жёсткий оффтоп!
P.S. Выглядит также переходник, только чип на нем JM20330. Терзают мутные сомнения что диск SATA II, а переходник SATA -> IDE.

ashota 31-03-2011 10:18 1647781

У меня сделано так:
1) в файрволе открыл доступ все ко всем по 53 порту
2) файл hosts
Код:

::1                    localhost localhost.*****ru                     
127.0.0.1              localhost localhost.*****.ru                     
192.168.3.254          ****.ru ******                               
192.168.3.254          *****.ru.

Ну вместо звездочек свой домен
3) конф файл dhcpd.conf
Код:

ddns-update-style interim;                                                   
                                                                             
default-lease-time 14400;                                                     
max-lease-time 16200;                                                         
authoritative;                                                               
                                                                             
log-facility local7;                                                         
                                                                             
subnet 192.168.3.0 netmask 255.255.255.0 {                                   
        range 192.168.3.1 192.168.3.100;                                     
        option routers 192.168.3.254;                                         
        option ntp-servers 192.168.3.254;                                     
        option subnet-mask 255.255.255.0;                                     
        option domain-name "******.ru";                                   
        option domain-name-servers 192.168.3.254, DNS провайдера
}                                                                             
                                                                             
key DHCP_UPDATER {                                                           
        algorithm HMAC-MD5;                                                   
        secret "секретный ключ";                                   
};
zone 3.168.192.in-addr.arpa.{
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone *****.ru.{
primary 127.0.0.1;
key DHCP_UPDATER;
}

файл named.conf

Код:

acl "corpnets" { 192.168.3.0/24; 192.168.10.0/24; 127.0.0.1; };               
                                                                             
options {                                                                     
        // Relative to the chroot directory, if any                           
        directory      "/etc/namedb";                                       
        pid-file        "/var/run/named/pid";                                 
        dump-file      "/var/dump/named_dump.db";                           
        statistics-file "/var/stats/named.stats";                             
        version "Xren vam";                                                   
        max-cache-size 100M;                                                 
                                                                             
        listen-on {127.0.0.1; 192.168.3.254;};                               
                                                                             
        allow-query { "corpnets"; };                                         
        allow-recursion { "corpnets"; };                                     
        allow-transfer { "corpnets"; };                                       
};                                                                           
                                                                             
key DHCP_UPDATER {                                                           
        algorithm HMAC-MD5;                                                   
        secret "тот же самый секретный ключ";                                   
};
zone "." {
        type hint;
        file "named.root";
};
 
zone "0.0.127.IN-ADDR.ARPA"  {
        type master;
        file "dynamic/localhost.rev";
};
 
zone "********.ru" {
        type master;
        file "dynamic/*****";
        allow-update { key DHCP_UPDATER; };
};
 
 
zone "3.168.192.in-addr.arpa" {
        type master;
file "dynamic/localnet.rev";
        allow-update { key DHCP_UPDATER; };
};
 
# Use with the following in named.conf, adjusting the allow list as needed:
 key "rndc-key" {
        algorithm hmac-md5;
        secret "тот же самый секретный ключ";
};
 
        controls {
        inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };
};

в директорию, куда я разместил файлы зон, на него должно быть права на пользователя и группы bind. Еще раз повторюсь, вместо звездочек, свой домен, а секретный ключ можно сгененрировать или создать сам. Да еще нужно создать файл, там же где named.conf rndc.conf
Код:

# Start of rndc.conf                                                         
key "rndc-key" {                                                             
        algorithm hmac-md5;                                                   
        secret "тот же самый секретный ключ";                                   
};                                                                           
                                                                             
options {                                                                     
        default-key "rndc-key";                                               
        default-server 127.0.0.1;                                             
        default-port 953;                                                     
};                                                                           
# End of rndc.conf

Думаю, все что тут написано, ты с умом переведешь на свою систему, все должно работать. У меня работает. Пользовался статьей чуть-чуть подправляя http://www.lissyara.su/articles/free...amms/dns+dhcp/

kyzmi4 31-03-2011 10:55 1647808

Цитата:

Цитата ashota
Думаю, все что тут написано, ты с умом переведешь на свою систему, все должно работать. У меня работает. »

У меня тоже работает, спасибо. Конфиги выложил у себя http://kyzmi4-freebsd.livejournal.com/
А немоглибы еще показать ваши файлы зон.
Привел host, в ваш вид.
Сейчас меня ждет SQUID. =)

kyzmi4 04-04-2011 12:16 1650658

Помогите в решении вопроса с IPFW.

Есть очевидное правило:
PHP код:

${fwcmdadd allow tcp from any to me dst-port 22 

Я полагаю его выполнение, что все (0.0.0.0/0) могут подлючится ко мне на порту 22.
А вот фиг батенька, проходят три пакета и все, putty на ноутбуке сообщает Connection timed out.
tcpdump -ni xl0 port 22:
PHP код:

11:5719.713452 IP 192.168.1.10.8518 192.168.1.1.22Flags [S], seq 1770059954win 65535options [mss 1460,nop,wscale 3,nop,nop,TS val 0 ecr 0,nop,nop,sackOK], lenght 0 

И так 3 раза, счетчик правила щелкает.
Также с правилом:
PHP код:

${fwcmdadd allow tcp from any to ${oip80 via fxp0 

ОЧень долго мучался с DHCPD, победил.
rc.conf:
PHP код:

hostname="inet.fms"
keymap="ru.koi8-r.win"
font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keyrate="fast"
defaultrouter="21x.100.148.53"
firewall_enable="YES"
firewall_script="/etc/rc.firewall.my"
sshd_enable="YES"
named_enable="YES"
#named_flags="-u bind -g wheel"
apache22_enable="YES"
ifconfig_fxp0="inet 21x.100.148.54  netmask 255.255.255.252"
ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0"
dhcpd_enable="YES"
dhcpd_ifaces="xl0"
squid_enable="YES" 

rc.firewall.my:
PHP код:

#!/bin/sh -
fwcmd="/sbin/ipfw"
#Внешний
oif="fxp0"
oip="21x.100.148.54"

#Внутренний
iif="xl0"
iip="192.168.1.1"
MyLan="192.168.1.0/24"

${fwcmd} -f flush

#loop
${fwcmdadd allow all from any to any via lo0

#ICMP
${fwcmdadd allow icmp from any to any icmptype 0,3,4,8,11

#SSH
${fwcmdadd allow tcp from any to me 22

#DNS
${fwcmdadd allow udp from any to any 53
${fwcmdadd allow udp from any 53 to any

#DHCP
${fwcmdadd allow udp from any to any 67 via ${iif}
${
fwcmdadd allow udp from any 68 to any via ${iif}
${
fwcmdadd allow udp from any 67 to any via ${iif}
${
fwcmdadd allow udp from any to any 68 via ${iif}

#WWW
${fwcmdadd allow tcp from any to ${oip80 via ${oif}

#SQID
${fwcmdadd fwd 127.0.0.1,3128 tcp from ${MyLanto any 80 via ${oif

Про сквид я вообще пока не зарекаюсь.

Извините меня!
Должны быть правила для входящего и исходящего.
SSH дополнил:
${fwcmd} add allow tcp from me 22 to any И все заработало
WWW дополнил:
${fwcmd} add allow tcp from ${oip} to any via ${oif} И тоже все заработало.
Но все равно, мне кажется, что где-то проще можно сделать =)

dmitryst 04-04-2011 12:35 1650675

Цитата:

Цитата kyzmi4
Но все равно мне кажется что гдето проше можно сделать »

Номера правил принято ставить явно ;)
${FW} add 10 allow log tcp from any to me 22 via ${out_if}
${FW} add 11 allow tcp from me 22 to any via ${out_if}

например

kyzmi4 04-04-2011 14:25 1650770

Да, да товарищь телепат. А еще у меня ядро собрано без IPFIREWALL_DEFAULT_TO_ACCEPT. Тобишь:
${fwcmd} add allow tcp from any to me 22, будет конектится в одну сторону, но обратно ответа не будет и получим Connection timed out.
Но если добавить правило ${fwcmd} add allow tcp from me 22 to any, то все заработает. Хотя почитав повнимательнее мануал, я узнал о функции keep-state. Но почемуто ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает, то есть работает но страница пишет: Error The requested URL could not be retrieved, Система вернула: (13) Permission denied. Это пока главная задача.

dmitryst 04-04-2011 17:05 1650874

Цитата:

Цитата kyzmi4
Но почемуто ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает, то есть работает но страница пишет: Error The requested URL could not be retrieved, Система вернула: (13) Permission denied. Это пока главная задача. »

невнимательно мануал читали, товарищ коллега :)
Чтобы использовать keep-state, сначала надо определить правило с setup, а вот дальнейшие пакеты как раз и пойдут по правилу с keep-state (т.е. первый пакет смотрит правило с sеtup-ом, если все нормально, то в дальнейшем все пакеты этого сеанса идут по правилу с keep-state). Я динамическими правилами не пользуюсь, хватает обычных.

Цитата:

Цитата kyzmi4
${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${oif} keep-state, не работает »

уберите keep-state, тут он вообще не нужен

PS. нумерация правил таки хорошая вещь ;)

kyzmi4 04-04-2011 22:11 1651095

Цитата:

Цитата dmitryst
уберите keep-state, тут он вообще не нужен »

Ну без него он вообще ничего не делал. ^_^ Теперь хоть страницу с ошибкой выдает.
А почему же у меня работает такое правило:
${fwcmd} add allow tcp from any to me 22 keep-state, а
просто ${fwcmd} add allow tcp from any to me 22 ужо не работает?

Делаю прокси прозрачным, с подключенной машины пытаюсь выйти в инет. Мне выдается

PHP код:

Error The requested URL could not be retrieved
Система вернула
: (13Permission denied


А в cache.log пишет:
PHP код:

IpIntercept.cc(250IpfInterceptionNAT open failed : (2No such file or directory

В гугле искал, вроде нашел решение, но он не сработало.
https://wiki.andrewmercer.net/index....nsparent_Proxy
Там помогло, пересобрать сквид с поддержкой всех фаерволов.
Нат, не запущен, ибо пока он вообще не нужен. Настроен DHCP, DDNS, IPFW c правилом в конце deny all.

dmitryst 04-04-2011 22:41 1651114

Цитата:

Цитата kyzmi4
Нат, не запущен, ибо пока он вообще не нужен. »

это как? ))) Что, прям вся сетка со своих 192,168,х,х ломится в интернет, что ли?
Цитата:

Цитата kyzmi4
Делаю прокси прозрачным, с подключенной машины пытаюсь выйти в инет. Мне выдается »

дайте конфиг ipfw

kyzmi4 04-04-2011 22:50 1651125

Цитата:

Цитата dmitryst
это как? ))) Что, прям вся сетка со своих 192,168,х,х ломится в интернет, что ли? »

На прозрачный прокси ломится, кроме www им ничего не надо. (Я так сказал =)) Конечно потом будет нат, но урезанно до почты и аськи например.

Товарищь телепат, время уже позднее, конфиги на сервере, по ssh у меня рут заблокирован, кофиг ipfw отказывается читаться. Приятного вам вечера с чаем за познанием не познанного. Утром обязательно скину =)

dmitryst 05-04-2011 01:31 1651219

Цитата:

Цитата kyzmi4
На прозрачный прокси ломится, кроме www им ничего не надо. (Я так сказал ) Конечно потом будет нат, но урезанно до почты и аськи например. »

ну и как, по-вашему, из сети 192,168,1,0 комп пошлет пакет, скажем, 8,8,8,4 и примет его? (Хотя, спорить не буду, я уже тоже в отключке, завтра с утра вырублю НАТ и посмотрим, кто куда через прокси пойдет...)
Цитата:

Цитата kyzmi4
Приятного вам вечера с чаем за познанием не познанного. »

спасибо, взаимно.
Цитата:

Цитата kyzmi4
конфиги на сервере, по ssh у меня рут заблокирован, кофиг ipfw отказывается читаться. »

вот и оно, непознанное! :laugh: НЕ РАБОТАЙТЕ ОТ РУТА!!! Заведите себе пользователя с неадекватным логином и таким же паролем, пропишите в sudo.conf - и все. Зашел юзером, sudo -i - рут!

kyzmi4 05-04-2011 10:49 1651377

Цитата:

Цитата dmitryst
вот и оно, непознанное! НЕ РАБОТАЙТЕ ОТ РУТА!!! Заведите себе пользователя с неадекватным логином и таким же паролем, пропишите в sudo.conf - и все. Зашел юзером, sudo -i - рут! »

Не, я чего-то там в конфигах накосипорил. Вообщем хотел, чтобы залогинится можно только под юзером, а потом sudo и пароль рута ввести.
Цитата:

Цитата dmitryst
завтра с утра вырублю НАТ и посмотрим, кто куда через прокси пойдет... »

Жду =)

Конфиги:
rc.firewall.my
PHP код:

#!/bin/sh -
fwcmd="/sbin/ipfw"
#Интернет
oif="fxp0"
oip="21x.100.148.54"

#Локалка
iif="xl0"
iip="192.168.1.1"
MyLan="192.168.1.0/24"

${fwcmd} -f flush
${fwcmdadd check-state

#Loop
${fwcmdadd allow all from any to any via lo0

#Я тут король
#${fwcmd} add allow tcp from me to any out via ${oif} setup keep-state uid root

#ICMP
${fwcmdadd allow icmp from any to any icmptype 0,3,4,8,11

#SSH
${fwcmdadd allow tcp from any to me 22 keep-state

#DNS
${fwcmdadd allow udp from any to any 53
${fwcmdadd allow udp from any 53 to any

#DHCP
${fwcmdadd allow udp from any to any 67 via ${iif}
${
fwcmdadd allow udp from any 68 to any via ${iif}
${
fwcmdadd allow udp from any 67 to any via ${iif}
${
fwcmdadd allow udp from any to any 68 via ${iif}

#WWW
${fwcmdadd allow tcp from any to ${oip80 via ${oifkeep-state
#${fwcmd} add allow tcp from ${oip} 80 to any via ${oif}

#SQID
${fwcmdadd fwd 127.0.0.1,3128 tcp from ${MyLanto any 80 via ${iifkeep-state

#Iperf
${fwcmdadd allow tcp from any to me 5002 via ${oif}
${
fwcmdadd allow tcp from me 5002 to any via ${oif

Только не надо пристреливать меня сразу =)

rc.conf
PHP код:

hostname="inet.fms"
keymap="ru.koi8-r.win"
font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
keyrate="fast"
defaultrouter="21x.100.148.53"
firewall_enable="YES"
firewall_script="/etc/rc.firewall.my"
sshd_enable="YES"
named_enable="YES"
#named_flags="-u bind -g wheel"
apache22_enable="YES"
ifconfig_fxp0="inet 21x.100.148.54  netmask 255.255.255.252"
ifconfig_xl0="inet 192.168.1.1 netmask 255.255.255.0"
dhcpd_enable="YES"
dhcpd_ifaces="xl0"
squid_enable="YES" 

UPDATE:
после правила ${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${iif}, добавил ${fwcmd} add allow all from any to any и все заработало. Но теперь получается я весь открыт. =\ Где то я пропустил образовательный процесс, ведь мне надо чтобы по умолчанию все закрыто было, вот и собрал без IPFIREWALL_DEFAULT_TO_ACCEPT, чтобы самому открыть все что надо.

dmitryst 05-04-2011 11:50 1651413

Цитата:

Цитата kyzmi4
Вообщем хотел, чтобы залогинится можно только под юзером, а потом sudo и пароль рута ввести. »

ну так я вам и написал, как надо. Из портов надо поставить sudo, отредактировать его конфиг, как хочется (там неплохо комментировано всё), а рутовый вход по ssh и так запрещен по дефолту.
Цитата:

Цитата kyzmi4
Жду »

да, я ступил что-то... Прокси работает :)

Цитата:

Цитата kyzmi4
Только не надо пристреливать меня сразу »

да не, на первый взгляд конфиг нормальный, но лично я не очень разбираюсь в setup/keep-state, сейчас гуру придут и все откомментируют :).

Цитата:

${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80 via ${iif} keep-state
у меня так -
Цитата:

${fwcmd} add fwd 127.0.0.1,3128 tcp from ${MyLan} to any 80,81,88,808,3128,3129,8080,80
- для особо хитропопых юзеров, знающих, что такое "прокси" )


Время: 02:52.

Время: 02:52.
© OSzone.net 2001-