Добрый день!
Уже 2 недели мучаюсь над одной проблемой! Ну ни как! Все поиски полазил - в большинстве на этом сайте! Помогите, кто чем может!
Ситуация такая: на шлюз freeBSD 6 приходит 2 интернета и одна локалка.
1 провайдер - белый IP, без логинов и паролей, напрямую. (интерфейс rl0, IP - 217.170.X.X, шлюз - 217.170.X.Y, маска 255.255.255.252)
2 провайдер - серый IP через PPPoE (интерфейс tun0, IP - 172.16.2.190 шлюз - 172.16.0.15)
Локалка - 192.168.1.220, маска 255.255.255.0)
Идея такая.
1 провайдер - основной, через него весь интернет.
2 провайдер - ТОЛЬКО локальная сеть провайдера 172.16.0.0/24, интернет категорически не нужен)
Пользователи в сети должны пользоваться и Интернетом 1 провайдера и локальной сетью 2 провайдера без всяких заморочек, переключений и т.п.
Почитал статью про PBR - настроил по последнему способу от сюда http://www.opennet.me/base/net/bsd_pbr_route.txt.html (только в моём случае нету 2-й локальной сети и сети провайдера)
В итоге: когда воткнуты оба сетевых кабеля Инета - Интернет идёт через 2-го провайдера и только! Когда вытаскиваю кабель второго провайдера - Интернет идёт через 1-го (второго то и нету).
Вот такая ерунда. Помогите пожалуйста, очень нужно!
Вот мои конфиги
Ядро:
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
options DUMMYNET
natd.conf:
same_ports yes
use_socket yes
unregistered_only yes
redirect_port tcp 192.168.1.200:3389 0.0.0.0:3389
ppp.conf:
default:
set device PPPoE:rl1:provaider
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
enable lqr
add default HISADDR
set timeout 0
set redial 0 0
altair:
set authname xxxxx
set authkey xxxxx
rc.conf:
ifconfig_vr0="inet 192.168.1.220 netmask 255.255.255.0" #локалка
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
hostname="gw.erudit.local"
inetd_enable="NO"
sshd_enable="YES"
usbd_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="provaider"
ppp_user="root"
natd_enable="YES"
natd_interface="rl0"
natd_flags="-m -config /etc/natd.conf"
ifconfig_rl0="inet 217.170.x.x netmask 255.255.255.252" # 1-й провайдер
defaultrouter="217.170.x.y"
resolv.conf:
nameserver 217.170.x.z
firewall.sh: (лежит в автозагрузке usr/local/etc/rc.d/)
#!/bin/sh
ipfw -f flush
natd -a 217.170.x.x -p 8668
natd -a 172.16.2.190 -p 8778
ipfw add 10 allow ip from 192.168.1.0/24 to 192.168.1.0/24 via vr0
ipfw add 20 pass tcp from any to 192.168.1.200 3389
ipfw 65000 add divert 8778 ip from 192.168.1.0/24 to 172.16.0.0/24
ipfw 65010 add divert 8668 ip from 192.168.1.0/24 to any
ipfw 65020 add fwd 217.170.x.y ip from 217.170.x.x to any
ipfw 65030 add fwd 172.16.0.15 ip from 172.16.2.190 to 172.16.0.0/24
ipfw 65040 add divert 8668 ip from any to 217.170.x.y
ipfw 65050 add divert 8778 ip from any to 172.16.2.190
ipfw add 65500 allow all from any to any
ipfw add 100 deny ip from any to 192.168.1.1
ipfw add 101 count ip from not 172.16.0.0/24 to 192.168.1.1 via vr0
ipfw add 102 count ip from 192.168.1.1 to any via vr0
ipfw add 111 count ip from 172.16.0.0/24 to 192.168.1.1 via vr0
ipfw add 200 deny ip from any to 192.168.1.2
ipfw add 201 count ip from not 172.16.0.0/24 to 192.168.1.2 via vr0
ipfw add 202 count ip from 192.168.1.2 to any via vr0
ipfw add 211 count ip from 172.16.0.0/24 to 192.168.1.2 via vr0
...............................
ipfw add 25400 deny ip from any to 192.168.1.254
ipfw add 25401 count ip from not 172.16.0.0/24 to 192.168.1.254 via vr0
ipfw add 25402 count ip from 192.168.1.254 to any via vr0
ipfw add 25411 count ip from 172.16.0.0/24 to 192.168.1.254 via vr0