Два default gateway в FreeBSD

Задача:

всех пользователей сети 10.10.0.1/24 пускать наружу через 192.168.0.1, за исключением некоторых, коих отправлять в инет через 192.168.1.1

Решение:

/etc/rc.conf

# Default gateway
defaultrouter=»192.168.0.1″
ifconfig_em0=»inet 10.10.0.1 netmask 255.255.255.0″
ifconfig_fxp0=»inet 192.168.0.2 netmask 255.255.255.0″
ifconfig_fxp1=»inet 192.168.1.2 netmask 255.255.255.0″

/etc/rc.firewall.local

fwcmd=»/sbin/ipfw»
natcmd=»/sbin/natd»

tables_script=»/etc/tables_gw2.sh»
internal_iface=»em0″
external_iface_1=»fxp0″
external_iface_2=»fxp1″
router_ip_1=»192.168.0.1″
router_ip_2=»192.168.1.1″
ext_ip_1=»192.168.0.2″
ext_ip_2=»192.168.1.2″
${natcmd} -n ${external_iface_1}
${natcmd} -n ${external_iface_2} -p 8998
${fwcmd} -f flush
${fwcmd} add 100 divert 8998 ip from table(1) to any
${fwcmd} add 200 fwd ${router_ip_2} ip from ${ext_ip_2} to any
${fwcmd} add 300 divert 8998 ip from any to ${ext_ip_2}
${fwcmd} add 400 divert natd ip from 10.10.0.1/24 to any out xmit ${external_iface_1}
${fwcmd} add 500 divert natd ip from any to ${ext_ip_1}
. ${tables_script}

/etc/tabes_gw2.sh

fwcmd=»/sbin/ipfw»
${fwcmd} table 1 flush
${fwcmd} table 1 add 10.10.0.7
${fwcmd} table 1 add 10.10.0.46
${fwcmd} table 1 add 10.10.0.23
${fwcmd} table 1 add 10.10.0.14


05 сентября 2008.   Комментарии: Комментарии к записи Два default gateway в FreeBSD отключены.    Размещено в FreeBSD