FreeBSD 7.0 с 2-мя сетевыми картами
1.192.168.1.200 (re0) - Отсюда берется интернет (Приписан основной шлюз 192.168.1.254 и ДНС сервера)
2.172.16.0.1 (fxp0) - Локальная сеть
XX.XX.XX.XX - Выдал провайдер №1 у которого Берем интернет
192.168.4.7 (ng0) - Выдал провайдер №2 у которого Берем интернет через VPN тунель, который организован через провайдера №1
172.16.1.1 - Основной шлюз выданный провайдером №2
Вопрос:
На данный момент раздается интернет от Провайдера №1, Как сделать что бы локальная сеть брала интернет у Провайдера №2
Код: Выделить всё
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.1.254 UGS 0 9075 re0
localhost localhost UH 0 0 lo0
172.16.0.0 link#1 UC 0 0 fxp0
172.16.1.1 192.168.4.7 UH 1 0 ng0
192.168.1.0 link#2 UC 0 0 re0
192.168.1.254 00:0f:ea:5f:9f:df UHLW 2 0 re0 169
192.168.4.7 172.16.1.1 UGS 0 0 ng0
RC.CONF:
Код: Выделить всё
defaultrouter="192.168.1.254"
ifconfig_re0="inet 192.168.1.200 netmask 255.255.255.0"
ifconfig_fxp0="inet 172.16.0.1 netmask 255.255.255.0"
gateway_enable="YES"
natd_enable="YES"
natd_interface="re0"
firewall_enable="YES"
firewall_script="/etc/ipfw.sh"
mpd_enable="YES"
Код: Выделить всё
#!/bin/sh
ipfw -q -f flush
cmd="ipfw -q add"
$cmd check-state
$cmd 1 allow ip from me to any keep-state
$cmd 2 allow ip from any to me pptp,ftp,67,445,139,139,138,6666,80,8000,3128
$cmd 10 divert natd all from any to any via re0
#Мой ip
$cmd 300 allow ip from 172.16.0.253 to any
$cmd 301 allow ip from any to 172.16.0.253
$cmd 302 allow gre from any to any via re0
$cmd 997 allow ip from any to any via re0
$cmd 1000 deny ip from any to any via fxp0
Код: Выделить всё
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:02:b3:3e:c7:f7
inet 172.16.0.1 netmask 0xffffff00 broadcast 172.16.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 00:13:d3:5e:92:a3
inet 192.168.1.200 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1456
inet 192.168.4.7 --> 172.16.1.1 netmask 0xffffffff