|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Alexander V. Zinin 2:5020/400 24 Apr 2004 16:32:53 To : All Subject : route & natd -------------------------------------------------------------------------------- Hello, All! Hа сервере три сетевых карты: vr0, rl0, rl1. vr0 - статический адрес - 192.168.1.1/24. rl0 - DHCP. Выдает: 217.10.43.32/20, default route: 217.10.43.1 rl1 - DHCP. Выдает: 10.0.0.42/19, default route: 10.0.0.1 natd порт 8668 - rl0 natd порт 8669 - rl1 Задача: пустить траффик на 10/8 и 217.10.32/20 в 10.0.0.1(rl1), а весь остальной на default gateway: 217.10.43.1(rl0). Чтобы через nat траффик шёл так же. Проблема в следующем: после перезагрузки случайным образом назначаются маршруты. То есть, хоть в /etc/rc.conf прописано всё статически, после перезагрузки может получится так, что 10.0.0.1 на rl0, а не rl1, как должно быть, если написать netstat -rn. Или шлюз по умолчанию - 10.0.0.1, вместо 217.10.43.1. Если случайным образом всё стало правильно - всё работает. Если нет, то правлю в ручную маршруты - на сервере всё работает, а вот с клинтов через nat - нет :( 1. Почему после изменения маршрутов на правильные через nat нету доступа в сеть ? 2. Почему устанавливаются неправильные маршруты ? 3. Как решить проблему ? :) 4. Есть ли другие пути ? FreeBSD zinin.comex.ru 4.10-PRERELEASE FreeBSD 4.10-PRERELEASE #11: Sat Apr 24 12:30:05 MSD 2004 alexander@zinin.comex.ru:/usr/src/sys/compile/FIRST i386 P.S. Как так может получаться, если назначение маршрутов идёт *после* получения адресов по DHCP в /etc/rc.network ? Далее привожу часть /etc/rc.conf и /etc/ipfw.sh. rc.conf: ^^^^^^^^^^^^^ ifconfig_vr0="inet 192.168.1.1 netmask 255.255.255.0" ifconfig_rl0="DHCP" ifconfig_rl1="DHCP" firewall_enable="YES" firewall_script="/etc/ipfw.sh" gateway_enable="YES" defaultrouter="217.10.43.1" static_routes="ctv1 ctv2" route_ctv1="10.0.0.0/8 10.0.0.1" route_ctv2="217.10.32.0/20 10.0.0.1" ipfw.sh: #!/bin/sh natd -p 8668 -n rl0 natd -p 8669 -n rl1 arp -s 192.168.1.2 00:0c:6e:8e:e9:82 arp -s 192.168.1.3 00:0d:88:4e:6a:1d arp -s 192.168.1.4 00:50:ba:c1:05:f7 # Flush all rules ipfw -f flush CTV="{ 10.0.0.0/8, 217.10.32.0/20, 172.16.0.0/16 }" Internet="{ not 10.0.0.0/8, 217.10.32.0/20, 192.168.1.0/24, 192.168.100.0/24 }" Clients="{ 192.168.1.2, 192.168.1.3, 192.168.1.4 }" # allow all in lo0 ipfw add allow all from any to any via lo0 # local network ipfw add allow all from 192.168.1.0/24 to 192.168.1.1 ipfw add allow all from 192.168.1.1 to 192.168.1.0/24 # divert to Internet ipfw add divert 8668 all from any to ${Internet} via rl0 ipfw add divert 8668 all from ${Internet} to any via rl0 # divert to CTV ipfw add divert 8669 all from any to ${CTV} via rl1 ipfw add divert 8669 all from ${CTV} to any via rl1 ipfw add allow all from ${Clients} to any ipfw add allow all from any to ${Clients} ipfw add allow all from me to any ipfw add allow all from any to me # default rule ipfw add reset all from any to any With best regards, Alexander V. Zinin. E-mail: zinin@comtv.ru --- ifmail v.2.15dev5.3 * Origin: Comcor-TV (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/205425e81581.html, оценка из 5, голосов 10
|