Страница 1 из 1

Freebsd8.1+natd+squid+ipfw помогите решить задачу новичку...

Добавлено: 2010-09-30 18:00:39
shade_gastovsky
Добрый день Гуру и не только я новичек в работе с freebsd но мне была поставлена задача настроить прозрачный прокси сервер на предприятии
Введение на данный момент на фирме internet (оптоволокно) выделенный айпи работает через фейковую сеть
Непрозрачный прокси на базе Usergate 2.8 FTP server (win2k3+servU)-смотрит в мир и в локаль

Код: Выделить всё

ipconfig - сервера
>ipconfig /all
Internal ip10 - 
   Intel(R) PRO/1000 MT Network Connection
  
   IP- 192.168.0.10
   255.255.255.0
  192.168.0.10

External
Realtek RTL8139 Family PCI Fast Ethernet
NIC

   IP-xxx.xxx.xxx.xxx
   255.255.255.252
   gateway: 10.181.1.137
   DNS- 195.49.201.1
Итак установив Freebsd 8.1

скомпилировал ядро вот с такими параметрами

Код: Выделить всё

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
#options       IPFIREWALL_NAT
#options       LIBALIAS
options         IPDIVERT
options         DUMMYNET
вот настройки сетевых устройств (обратите внимание на аллиасы, их мне выдал провайдер когда я начал разбираться почему я не могу настроить интернет)
после настройки аллиасов пинг начал проходить на gateway провайдера и на его DNS но на ya.ru пинг просто молчитно айпи его резолвит, на что провайдер мне сказал что у меня проблемы с NAT

Код: Выделить всё

ifconfig
rl0: 
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
      
nfe0: 
        inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255
        inet 10.181.1.138 netmask 0xfffffffc broadcast 10.181.1.139
        
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000
вот принт rc.conf

Код: Выделить всё

/etc/rc.conf       
# -- sysinstall generated deltas -- # Wed Sep  8 17:48:34 2010
# Created: Wed Sep  8 17:48:34 2010
# 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.
firewall_enable="YES"
firewall_script="/etc/rc.firewall"
natd_enable="YES"
# tut ne znauy kakoy external or internal
natd_interface="nfe0"
natd_flags=" -m -u"
defaultrouter="10.181.1.137"
gateway_enable="YES"
hostname="office.provider.net"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_nfe0="inet xxx.xxx.xxx.xxx netmask 255.255.255.255"
ifconfig_nfe0_alias0="inet 10.181.1.138 netmask 255.255.255.252 -rxcsum"
ifconfig_nfe0_alias1="inet xxx.xxx.xxx.xxx netmask 255.255.255.0"
kern_securelevel="1"
kern_securelevel_enable="NO"
keymap="UTF-8"
moused_enable="YES"
saver="fire"
scrnmap="UTF-8"
sshd_enable="YES"
webmin_enable=YES
linux_enable=YES
и принт rc.firewall

Код: Выделить всё

/etc/rc.firewall  

##############OLD###############
ipfw add 0 count log all from any to any via rl0
ipfw -q flush
firewall_logging="YES"
ipfw add allow ip from any to any via lo0
ipfw add allow ip from any to any via rl0
ipfw add allow ip from any to any via nfe0
вот что я нашел в /var/log/massage

Код: Выделить всё

Sep 30 11:22:46 kmmoffice kernel: IP_FW_NAT_CFG: ipfw_nat not present, please load it
Sep 30 11:40:36 kmmoffice kernel: IP_FW_NAT_CFG: ipfw_nat not present, please load it
Sep 30 11:40:54 kmmoffice kernel: IP_FW_NAT_CFG: ipfw_nat not present, please load it

где я накрутил боков? и что мне сделать что-бы на сервере таки поднялся интернет???

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-09-30 18:07:57
terminus
Прозрачный прокси сервер? Или просто рутер с натом?
Если первое то где сквид?
Если второе то почему в правилах ipfw нет divert на natd?

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 6:50:23
neurobomman
можно и сквид и нат. только нат лучше ядерный

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 11:05:58
shade_gastovsky
мужики понимаете для постройки самого прокси я даже еще не добрался... мне для начала подцепить его в интернет надо, а потом уже пошли бы вопросы и по нату и по сквиду в зависимости от тогго что посоветуете, помогите решить проблему с выходом интернет. я как бы на самом начальном этапе настройки застрял... самое занимательное что если я сервак с фрей подцепляю через непрозрачный прокси интернет естественно есть, а вот напрямую к провайдеру с настройками которые он мне дал не пингуются внешние узлы... провайдер сказал что у меня проблемы с НАТом прилагаю часть разговора с ним в аське

Код: Выделить всё

###
### Часть истории
### ShaDe (ICQ: 200001630) - Kodein_FREEBSD (ICQ: xxxxxxxxxxx)
### (создана модулем history++)
###

[29.09.2010 15:28:48] Kodein_FREEBSD:
ifconfig $wan_iface  10.181.1.138/30 ; ifconfig $wan_iface alias xxx.xxx.xxx.xxx

[29.09.2010 15:29:06] Kodein_FREEBSD:
route add default 10.181.1.137

[29.09.2010 15:43:10] ShaDe:
[root@kmmoffice /usr/ports/net/mtr]# traceroute ya.ru
traceroute: Warning: ya.ru has multiple addresses; using 93.158.134.3
traceroute to ya.ru (93.158.134.3), 64 hops max, 40 byte packets
 1  10.181.1.137 (10.181.1.137)  0.719 ms  0.234 ms  0.250 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
^Z
[2]+  Stopped                 traceroute ya.ru

[29.09.2010 15:45:11] Kodein_FREEBSD:
nat ip from $local_net to any via $wan_iface

[29.09.2010 15:46:57] Kodein_FREEBSD:
я не помню синтаксиса нового НАТа в ipfw  - но суть такая, натим нужные адреса из локалки внешним реальником xxx.xxx.xxx.xxx

[29.09.2010 15:48:54] Kodein_FREEBSD:
10.181.1.138 nat to xxx.xxx.xxx.xxx

[29.09.2010 15:57:42] Kodein_FREEBSD:
ipfw nat 123 config ip xxx.xxx.xxx.xxx
ipfw add 10 nat 123 ip from $local_net to any
ipfw add 20 nat 123 ip from any to xxx.xxx.xxx.xxx via $wan_iface
ipfw add allow ip from any to any

[29.09.2010 15:58:51] Kodein_FREEBSD:
 +  ipfw add 30 nat 123 ip from 10.181.1.138 to any

[29.09.2010 16:02:01] ShaDe:
root@office /home/shade]# ipfw nat 123 config ip 195.49.206.193
ipfw: setsockopt(IP_FW_NAT_CFG): Invalid argument


Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 12:15:55
шел_мимо

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 12:40:40
shade_gastovsky
шел_мимо писал(а):Почитайте.
http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
- та я даже распечатал

нов статье не сказано где искать причину возникновения вот этого сообщения ipfw: setsockopt(IP_FW_NAT_CFG): Invalid argument
гугл вот что выдал http://forum.lissyara.su/viewtopic.php? ... 92&start=0 (но толи у меня мозг уже не работает, или еще что... но не могу я вообще понять почему не работает интернет с правилами все для всех открыто? конфы я вверху привел. посему и прошу помочь как новичку разобраться где я накосячил? и я ли?

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 12:52:25
snorlov
Мне кажется libalias в ядре нужен ...

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 13:00:02
шел_мимо
Вы скомпилили ядро с этим
#options IPFIREWALL_NAT
закоментировал и чего вы хотите?
Потому и ругается:
ipfw: setsockopt(IP_FW_NAT_CFG): Invalid argument

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 13:32:40
terminus
ipfw nat можно без пересборки подгрузить:

/etc/rc.conf

Код: Выделить всё

firewall_nat_enable="YES"

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-01 15:47:09
shade_gastovsky
ipfw nat можно без пересборки подгрузить:

/etc/rc.conf
firewall_nat_enable="YES"
прописал бутнулся, ошибка таже

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-02 13:46:34
snorlov
Загрузите ядро GENERIC и в rc.conf добавьте

Код: Выделить всё

firewall_enable="YES"
frirewall_nat_enable="YES"
friewall_type="OPEN"
firewall_nat_interface="nfe0"
Посмотрите содержимое /etc/rc.firewall, оттуда берутся по умолчанию правила для типа OPEN, можно взять и другие, да и может я напутал с firewall_nat_interface, синтаксис там прозрачный, понять можно что к чему и одной извилиной

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-02 19:20:25
MASiK

Код: Выделить всё

kldload ipfw_nat && kldload libalias

Код: Выделить всё

man ipfw | grep nat
если хочешь в ядро вкомпилить раскоменьть что у тя закоменчено

Код: Выделить всё

options       IPFIREWALL_NAT
options       LIBALIAS
или добавь в /boot/loader.conf соответственные строчки если ядро компилить не хочешь

а поповоду сквида манов тонны, надо сделать fwd в ipfw и настроить немного прокси сам

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-07 16:54:11
shade_gastovsky
MASiK писал(а):

если хочешь в ядро вкомпилить раскоменьть что у тя закоменчено

Код: Выделить всё

options       IPFIREWALL_NAT
options       LIBALIAS
Эхъ добавил строки скомпилировал, но интернет так и не пашет...(не пашет на самом роутере!!! а не за ним, ну за ним ессно тоже не пашет...)
в чем борода может заключаться???

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-07 17:02:41
shade_gastovsky
где мне искать причину?
в каих логах ошибки смотреть?

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-07 17:05:04
shade_gastovsky
все проблема решена.

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-14 13:07:44
vadim64
Будьте добры, опишите чем закончилось.

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-18 20:09:58
shade_gastovsky
vadim64 писал(а):Будьте добры, опишите чем закончилось.
неправильно был указан интерфейс натирования, запустился на стандартных правилах натировать все...


Господа помгите с ссылками как пробросить из интернета коннект на ФТП сервер в локальной сети(passive) через ipfw?
необходимо чтобы клиеннты из интренета подцеплялись к ФТП за роутером.

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-18 20:41:16
shade_gastovsky
с проброской портов решил через natd всем спасибо! =)

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-19 9:18:45
shade_gastovsky
Ну что с НАТом проблему решил, возник трабл намбер 2.
пробросил порты на локальный сервер ФТП 21 и 23 порт но вот незадача у меня около 15 юзеров фтп, сегодня утром наблюдаю картину что часть из них не может подключиться к фтп и передать информацию, удаленно зашел и попробовал подцепиться через браузер пишет "Сервер перегружен" насколько я понимаю проблема в количестве внешних подключений на роутере или нет? если да то как их колличество увеличить? если нет, то где копать? напрямую без роутера на FReeBSD такой проблемы не замечено.

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-20 11:42:01
shade_gastovsky
подскажите как и где посмотреть используемые порты системой?
в natd.conf прописал редиррект порта 8380 на компьютер в локальной сети и на рутере пропал интернет!
почему?

Re: Freebsd8.1+natd+squid+ipfw помогите решить задачу новичк

Добавлено: 2010-10-23 10:50:18
shade_gastovsky
в natd.conf после последней строчки с проброской да и вообще я так понял во всех конфигах лучше добавлять еще пустую строку и только потом сохранять, все после этого заработало, правда почему так я таки не понял.