Здравствуйте!!
Я долго читал этот форум и думаю что мой вопрос уже набил оскомину. Но если у других проблема эта решалось, то у меня что то ну никак :-(
Ситуация следующая:
Была одна сеть 192.168.251.0 со шлюзом (РэдХат по моему, 6-ой какой то там, доступа к нему не имею)192.168.251.62 По объективным причинам понадобилась внутри этой сети сделать ещё одну сеть со своим шлюзом. Было проделано следующее: Посталена FreeBSD 4.4-RELEASE, с двумя сетевыми интерфейсами, поднят НАТ и файерволл, вот конфиги: (dc0 смотрит внутрь моей сети, fxp0 смотрит на 192.168.251.62)
-----------------------------------------------------------
bash-2.05# ifconfig -a
dc0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:80:ad:78:29:51
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.251.1 netmask 0xffffff00 broadcast 192.168.251.255
ether 00:d0:b7:49:d1:15
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
-------------------------------------------------------------------
rc.conf:
### Basic network and firewall/secu
#hostname="unix.miokhk.adm.khv.ru"
firewall_enable="YES"
firewall_type="OPEN"
firewall_quiet="YES"
### Network daemon (miscellaneous)
syslogd_enable="YES"
syslogd_program="/usr/sbin/syslogd"
syslogd_flags="-s"
inetd_enable="YES"
inetd_program="/usr/sbin/inetd"
inetd_flags="-wW"
named_enable="YES"
named_program="named"
named_flags=""
nfs_reserved_port_only="NO"
tcp_extensions="NO"
### Network routing options: ###
defaultrouter="192.168.251.1"
sshd_enable="YES"
sshd_program="/usr/sbin/sshd"
sshd_flags=""
gateway_enable="YES"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-f /etc/natd.conf"
router_enable="YES"
router="routed"
router_flags=""
##Net setting##
ifconfig_fxp0="inet 192.168.251.1 netmask 255.255.255.0"
defaultrouter="192.168.251.62"
hostname="unix.miokhk.adm.khv.ru"
ifconfig_dc0="inet 192.168.1.2 netmask 255.255.255.0"
-----------------------------------------------------------
natd.conf:
use_sockets yes
same_ports yes
-----------------------------------------------------------
Ядро собиралось со следующими опциями:
options ICMP_BANDLIM
options KBD_INSTALL_CDEV
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options IPFILTER
options IPFILTER_LOG
options DUMMYNET
options BRIDGE
--------------------------------------------------------
Файрволл пускается следующим скриптом:
ipfwnatd.sh
#!/bin/sh
ipfw -f flush
ipfw add 1000 divert natd all from any to any via fxp0
ipfw add 10000 divert natd all from any to 192.168.251.1
ipfw add 65000 allow all from any to any
--------------------------------------------------------
Таблица роутинга:
bash-2.05# netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.251.62 UGSc 15 7650 fxp0
localhost localhost UH 7 21319 lo0
192.168.1 link#1 UC 29 0 dc0
192.168.1.2 0:80:ad:78:29:51 UHLW 0 0 lo0
192.168.1.3 0:a0:c9:d3:89:76 UHLW 2 143 dc0 1170
192.168.1.5 0:2:b3:50:97:72 UHLW 0 0 dc0 1066
192.168.1.33 0:2:b3:90:35:bd UHLW 6 5721 dc0 601
192.168.1.34 0:2:b3:29:68:b1 UHLW 0 339 dc0 963
192.168.1.42 0:d0:b7:49:cf:57 UHLW 0 1 dc0 1014
192.168.1.58 0:0:f4:c2:79:d UHLW 0 2349 dc0 754
192.168.1.64 0:2:b3:8a:d1:ab UHLW 0 1 dc0 457
192.168.1.81 0:a0:c9:48:bc:54 UHLW 0 0 dc0 631
192.168.1.99 0:c0:ca:34:6:1c UHLW 0 18 dc0 981
192.168.1.100 0:20:ed:2c:39:4 UHLW 1 415 dc0 1132
192.168.1.101 0:3:47:95:8a:ad UHLW 0 106 dc0 486
192.168.1.102 0:50:4:82:df:3 UHLW 0 10 dc0 351
192.168.1.108 0:20:ed:2c:ac:f6 UHLW 0 8 dc0 145
192.168.1.109 0:20:ed:a9:86:54 UHLW 0 2 dc0 1140
192.168.1.116 0:80:ad:78:37:24 UHLW 0 1 dc0 488
192.168.1.117 0:20:ed:2c:ad:3 UHLW 0 1 dc0 618
192.168.1.118 0:20:ed:2c:fd:7e UHLW 0 3 dc0 713
192.168.1.121 0:20:ed:26:67:1c UHLW 1 2621 dc0 1197
192.168.1.126 0:20:ed:2c:fa:38 UHLW 0 810 dc0 1129
192.168.1.127 0:20:ed:2c:77:fc UHLW 1 1 dc0 1170
192.168.1.132 0:20:ed:2c:fd:4c UHLW 0 528 dc0 958
192.168.1.137 0:20:ed:2c:fd:ab UHLW 0 9 dc0 612
192.168.1.142 0:20:ed:2c:77:b2 UHLW 0 14 dc0 830
192.168.1.144 0:10:5a:30:88:fe UHLW 0 0 dc0 482
192.168.1.147 0:20:ed:2c:77:ad UHLW 0 1 dc0 183
192.168.1.174 0:90:4:91:7a:78 UHLW 0 0 dc0
192.168.1.193 link#1 UHLW 1 5 dc0
192.168.1.255 ff:ff:ff:ff:ff:ff UHLWb 2 1404 dc0
192.168.251 link#2 UC 4 0 fxp0
ns 0:d0:b7:49:d1:15 UHLW 2 4521 lo0
192.168.251.62 0:c0:f0:0:5f:73 UHLW 12 3690 fxp0 1169
192.168.251.70 link#2 UHRLW 0 6 fxp0
192.168.251.255 ff:ff:ff:ff:ff:ff UHLWb 2 741 fxp0
------------------------------------------------------------------------
Результант команды tcpdump на FreeBSD при пинговании с клиентской машины с ip 192.168.1.33 на шлюз с ip 192.168.251.62:
bash-2.05# tcpdump -i fxp0 -n icmp
tcpdump: listening on fxp0
12:44:09.462497 192.168.1.33 > 192.168.251.62: icmp: echo request
12:44:10.455569 192.168.1.33 > 192.168.251.62: icmp: echo request
12:44:11.457065 192.168.1.33 > 192.168.251.62: icmp: echo request
12:44:12.458547 192.168.1.33 > 192.168.251.62: icmp: echo request
-------------------------------------------------------------------------
Результат пинга с машины 192.168.1.33:
C:\>ping 192.168.251.62
Обмен пакетами с 192.168.251.62 по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
-------------------------------------------------------------------
Вот собственно и проблема. С сети 192.168.1.0 пингуется только оба интерфейса на FreeBSD но не дальше её. С FreeBSD естественно пигуется обе сети. Помогите, all!!! очень надо :-( Где что я не так сделал - недоделал?
С Уважением....