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

natd - через DHCP

Добавлено: 2008-09-30 13:56:12
Dolphin_BSD
Добрый день !

Вот появилась проблема , на сервере FreeBSD 7.0 ( шлюз ) получение реального ИП адреса происходит через DHCP.

Проблема в том что natd в таком случаи не отрабатывает у меня ...

Все с локалки запрещено ... получается !
Как мне правильно настроить нат в таком случаи .... !

Привожу конфиги :

rc.firewall

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

#!/bin/sh

ipfw -q -f flush

eip="Реальный ИП который получает сервер через ДШСП"       # External ip
ilan="x.x.x.x/24"    # Internal lan

cmd="ipfw -q add"
skip="skipto 65000"
skip2="skipto 65500"

#################################
vip="x.x.x.x"
av="x.x.x.x"
#################################

#######################
citrix="x.x.x.x"
#######################

############
eif="rl1"
iif="rl2"
############

#########################################################
$cmd 50 allow gre from any to me in via $eif keep-state
#########################################################

##############################################################################
##############################################################################
#$cmd 80 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80 via $iif
#$cmd 90 fwd 192.168.0.21,2121 tcp from 192.168.0.0/24 to any 21 via $iif
##############################################################################

##########################################################
$cmd 100 count ip from any to any via $eif
$cmd 300 allow ip from any to any via lo0
$cmd 310 allow ip from any to any via $iif antispoof
##########################################################

#########################################################################
$cmd 1000 divert natd ip from any to any in via $eif

#citrix
#$cmd 1010 divert natd tcp from $citrix to any src-port 1494 out via $eif
#$cmd 1011 allow tcp from any to $citrix dst-port 1494 in via $eif
#$cmd 1012 allow tcp from me to any src-port 1494 out via $eif

#skipe
$cmd 1020 divert natd tcp from $ilan to any src-port 2604 out via $eif
$cmd 1021 allow tcp from any to any dst-port 65530
$cmd 1022 allow udp from any to any dst-port 65530
$cmd 1023 allow udp from $ilan to any src-port 2604 out via $eif

$cmd 1050 check-state
##########################################################################

##############################################OPEN################################################
#mail
$cmd 1110 $skip tcp from $ilan to any dst-port 110 out via $eif setup keep-state
$cmd 1111 $skip tcp from $ilan to any dst-port 25 out via $eif setup keep-state
$cmd 1112 $skip tcp from $ilan to any dst-port 143 out via $eif setup keep-state
############################################END-OPEN###############################################

#########################################Full-access###############################################
$cmd 1210 $skip tcp from $av to any out via $eif setup keep-state
$cmd 1220 $skip udp from $av to any out via $eif keep-state
$cmd 1230 $skip icmp from $av to any out via $eif keep-state

$cmd 1340 $skip ip from $ilan to any out via $iif keep-state
########################################END_Full-access############################################

######################################################################################
#Deny ip inbound traffic from non-roureble reserver address spaces
$cmd 1900 deny ip from 192.168.0.0/16 to any in via $eif  #RFC 1918 private IP
$cmd 1901 deny ip from 172.16.0.0/12 to any in via $eif   #RFC 1918 private IP
$cmd 1902 deny ip from 10.0.0.0/8 to any in via $eif      #RFC 1918 private IP
$cmd 1903 deny ip from 127.0.0.0/8 to any in via $eif     #loopback
$cmd 1904 deny ip from 0.0.0.0/8 to any in via $eif       #loopback
$cmd 1905 deny ip from 169.254.0.0/16 to any in via $eif  #DHCP auto-config
$cmd 1906 deny ip from 192.0.2.0/24 to any in via $eif    #reserved for docs
$cmd 1907 deny ip from 204.152.64.0/23 to any in via $eif #Sun cluster
$cmd 1908 deny ip from 224.0.0/3 to any in via $eif       #Class D & E multicast
$cmd 1909 deny ip from any to any 3128 in via $eif
######################################################################################

#Deny any late arriving packets
$cmd 2000 deny ip from any to any frag in via $eif

#Deny ACK packets that did not match the dynamic rule table
$cmd 2010 deny ip from any to any established in via $eif

#########outbound connection
$cmd 4000 allow tcp from me to any out via $eif setup keep-state
$cmd 4010 allow udp from me to any out via $eif keep-state
$cmd 4030 allow icmp from me to any out via $eif keep-state

#########inbound connection
$cmd 6000 allow tcp from any to me dst-port 25 in via $eif setup keep-state
$cmd 6010 allow tcp from any to any dst-port 110 in via $eif setup keep-state


#Reject & Log all unauthorized incoming connection from the public Internet
$cmd 64900 deny log logamount 10000 all from any to any in via $eif

#Reject & Log all unauthorized out going connections to the public Internet
$cmd 64910 deny log logamount 10000 all from any to any out via $eif

$cmd 65000 divert natd ip from any to any out via $eif
$cmd 65500 allow ip from any to any
natd.conf

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

interface rl1
use_sockets yes
dynamic yes
same_ports yes
rc.conf

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

###################################
ntpd_enable="YES"
ntpd_flags="-p /var/run/ntpd.pid"
###################################
Заранее спасибо !

Re: natd - через DHCP

Добавлено: 2008-09-30 15:58:55
gloom
сделай рестарт ната в самом конце отработки rc.conf

Re: natd - через DHCP

Добавлено: 2008-09-30 16:58:22
Dolphin_BSD
Сори не понял !

Re: natd - через DHCP

Добавлено: 2008-10-02 16:58:37
gloom
/etc/rc.d/natd restart после получения ипишника...