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

Тема в разделе "BSD", создана пользователем cube, 22 фев 2011.

  1. cube

    cube Постоялец

    Регистр.:
    14 мар 2009
    Сообщения:
    82
    Симпатии:
    4
    Система FreeBSD 8.1

    Подскажите как правильно настроить NAT+IPFW

    вот схема __ttp://www.youpic.ru/images/2011/02/21/3822062803.jpg

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

    Даже глючит (мс) с 192.168.1.0

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

    то тогда наоборот для 192.168.1.0 быстро а для 192.168.5.0 медлено!!
    но тогда сеть 192.168.1.0 с компов которые в 192.168.5.0 не пенгуется!

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



    # 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:1e:c9:f7:56: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:1e:c9:f7:56: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.firewall

    Код:
    #!/bin/sh
    FwCMD="/sbin/ipfw -q"
    
    LanOut="bge0"
    
    ${FwCMD} -f flush
    ${FwCMD} -f queue flush
    
    # NAT
    ${FwCMD} add divert natd ip from any to any via ${LanOut}
    # ping
    ${FwCMD} add allow icmp from any to any icmptypes 0,8,11
    ${FwCMD} add allow all from any to any
    
    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"
    ########################
    inetd_enable="YES"
    keymap="ua.koi8-u"
    linux_enable="YES"
    moused_enable="YES"
    sshd_enable="YES"
    #########################
    samba_enable="YES"
    #########################
    #named_enable="YES"
    #named_flage="-u bind -g bind"
    #rpcbind_enable="YES"
    
    #########################
    firewall_enable="YES"
    firewall_type="/etc/rc.firewall"
    firewall_logging="YES"
    #dummynet_enable="YES"
    
    natd_enable="YES"
    natd_interface="bge0"
    natd_flags="-u -m"
    ##########################
    ntpd_enable=YES
    ##########################
    apache22_enable="YES"

    # ipfw show
    Код:
    00100  5013109 12197329978 divert 8668 ip from any to any via bge0
    00200     3126      187608 allow icmp from any to any icmptypes 0,8,11
    00300 15001733 12764526108 allow ip from any to any
    65535    97649   125258473 deny ip from any to any
     
  2. masterlan

    masterlan

    Регистр.:
    14 окт 2009
    Сообщения:
    568
    Симпатии:
    52
    Ядро собрано с:

    ?
    В rc.firewall укажите:
     
  3. cube

    cube Постоялец

    Регистр.:
    14 мар 2009
    Сообщения:
    82
    Симпатии:
    4
    ядро собрано без

    Код:
    options IPFIREWALL_VERBOSE
    options IPFIREWALL_VERBOSE_LIMIT=5 
    И так тоже делал

    Код:
    # NAT
    ${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
    ${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut} 
    
    но тоже самое

    Вот пример

    Код:
    #!/bin/sh
    #
    
    FwCMD="/sbin/ipfw -q "		#
    
    LanOut="bge0"			#	
    NetOut="192.168.1.0/24"		# 
    IpOut="192.168.1.55"		# 
    
    LanIn="bge1"			# 
    NetIn="192.168.5.0/24"		#	
    ip_lan="192.168.5"		#