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

NAT+IPFW - что то не получаеться

Добавлено: 2011-02-21 12:26:10
cubespace
Всем привет!

Я в одной теме писал по поводу проблемы с алиасом, но решил запустить все через две сетевых, по старой схеме!!

Вот схема:

Изображение

но какие то непонятки с НАТом или фаэрволом!
есть два интерфейса:

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

bge0=192.168.1.55
bge1=192.168.5.3
В нете в документации написано что в нат - интерфейс нужно ставить внешню сетевуху! Но так нечего не работает, комп 192.168.5.1 не может пропингувать 192.168.1.х

счас работает в таком варианте:

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

# ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:2e:c8:f7:46:30
        inet 192.168.1.55 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:2e:c8:f7:46:31
        inet 192.168.5.3 netmask 0xffffff00 broadcast 192.168.5.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
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
pflog0: flags=0<> metric 0 mtu 33200
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128


rc.conf

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

###########################################################################
defaultrouter="192.168.5.10"
hostname="ascoe-mail.energy.volyn.ua"
ifconfig_bge0="inet 192.168.1.55  netmask 255.255.255.0"
ifconfig_bge1="inet 192.168.5.3  netmask 255.255.255.0"
###########################################################################
gateway_enable="YES"
inetd_enable="YES"
keymap="ua.koi8-u"
linux_enable="YES"
moused_enable="YES"
sshd_enable="YES"


##############################-samba-#####################################
samba_enable="YES"

###############################-DNS-######################################
named_enable="YES"
#named_flage="-u bind -g bind"
#rpcbind_enable="YES"
#nisdomainname="NO"

###############################-IPFW-#####################################
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_logging="YES"
#dummynet_enable="YES"

natd_enable="YES"
natd_interface="bge0"
natd_flags="-u -m"

rc.firewall

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

#!/bin/sh -
f='/sbin/ipfw'
${f} -q -f flush
${f} add 100 divert natd ip from any to any
${f} add allow all from any to any

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

# ipfw show
00100 128195 46807674 divert 8668 ip from any to any
00200 128001 46788242 allow ip from any to any
65535      0        0 deny ip from any to any
Незнаю есть ли это причиной тому что страшно тормозит ВЕБМИН, переключение на вкладки занимает 20-30 сек

Фаервол пока такой, но хочу привести к нормальному виду, но рока не получается :cry:

подскажите что не так ?

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-21 14:08:00
hizel
зачем вы НАТите везде? Ваш НАТ достаточно применить на исходящем интерфейсе

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-21 14:14:43
cubespace
Если сделать вот так :

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

natd_enable="YES"
natd_interface="bge1"     - (192.168.5.3)
natd_flags="-u -m"
и в Фаерволе

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

#!/bin/sh -
f='/sbin/ipfw'
${f} -q -f flush

${f} add allow all from any to any
ТО почему то не работает

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-22 12:47:12
hizel
эта конструкция может быть и работала бы если бы у вас сохранился оригинальный rc.firewall

почитайте документация по NAT гже то на этом сайте

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-22 12:57:59
cubespace
Получилось вот таким образом:

rc.firewall

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

#!/bin/sh
FwCMD="/sbin/ipfw -q"

LanOut="bge1"                   #
NetOut="192.168.5.0/24"         #
IpOut="192.168.5.3"            #

LanIn="bge0"                    #
NetIn="192.168.1.0/24"          #
ip_lan="192.168.1.55"              #


${FwCMD} -f flush
${FwCMD} -f queue flush

# zapreschaem localhostu lazit
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

# NAT
${FwCMD} add divert natd ip from any to any via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
# ping
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow all from any to any

Проблема в том что не в казал для НАТ :

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

via ${LanOut}
Теперь всё работает))
Но все равно как то не до конца настроен НАТ

Счас с 192.168.1.0 все быстро открываться , то же самый WEBMIN,
а вот с 192.168.5.0 очень медлено!!

а если поменять с bge1 на bge0

то тогда наоборот для 192.168.5.0 быстро а для 192.168.1.0 медлено!!

Подскажите как нужно правильно написать правило для НАТ, чтобы в обе стороны работало быстро ?

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-22 16:07:05
cubespace
Даже сам (МС) тормозит!!

Пару вариантов перепробував по повуду НАТа , но тоже самое или одно или другое(((

Я конекчусь с компа 192.168.1.53 к серверу 192.168.1.55 по ssh, запускаю мс и он подтормажует!
но когда я конекчусь к 192.168.5.3 из 192.168.5.1 то все летает!

Re: NAT+IPFW - что то не получаеться

Добавлено: 2011-02-23 16:35:51
cubespace
После долгих експерементов вернулся я до Маршутизации!

Маршрутизацию я прописал, вроде работает но не все!
есть сервера в первой подсети, например 192.168.1.1, 192.168.123
но они не пингуются , там стоит FreeBSD, и это почтовые сервера!!

На другие компы есть пинг!!
Как сделать на эти ?


# tcpdump -i bge0 icmp and net 192.168.1.0/24 and net 192.168.5.0/24
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on bge0, link-type EN10MB (Ethernet), capture size 96 bytes
13:18:30.098077 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 12818, length 40
13:18:35.598031 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 13074, length 40
13:18:41.098152 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 13330, length 40
13:19:01.974188 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 13586, length 40
13:19:07.098368 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 13842, length 40
13:19:12.598291 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 14098, length 40
13:19:18.098337 IP 192.168.5.1 > 192.168.1.23: ICMP echo request, id 512, seq 14354, length 40
^C