Ситуация:
есть внешний интерфейс wi0 у которого есть основной IP и alias.
#pccard_ifconfig="inet 1.1.1.2 netmask 255.255.255.240 ssid Enigma stationname My1"
#ifconfig_wi0_alias0="inet 1.1.1.3 netmask 255.255.255.255 ssid Enigma stationname My1"есть 2 внутрениих интерфейса и 2 подсети 192.168.[1|2].0/24
Надо чтобы одна подсеть NATилась наружу через основной IP wi0, другая - через alias.
Все надо сделать через /sbin/ipfw add divert natd
мысли по ходузапустить 2 ната
# natd -n wi0 -a 1.1.1.2 -p 8672
# natd -n wi0 -a 1.1.1.3 -p 8673добавить 2 диверта
# ipfw add divert 8672 ip from 192.168.1.0/24 to any via wi0
# ipfw add divert 8673 ip from 192.168.2.0/24 to any via wi0
вопрос вдогонку, FreeBSD 4.9 - откуда правильно запустить 2 NATa чтобы он стартовал до запуска других служб и самого ipfirewall. Т.к. через /etc/rc.conf можно запустить только 1?
/etc/rc.conf
============
natd_enable="YES"
natd_flags="-a 1.1.1.2 -p 8672"
ipfirewall_enable="YES"
ipfirewall_script="... ipfw add divert 8672 all from 192.168.1.0/24 to any via wi0"стартонула основная сетка и сам файрвол, другая сетка поднимется скоро
=======
/etc/rc.d/network.sh
start)
/sbin/natd -a 1.1.1.3 -p 8673
/sbin/ipfw add divert 8673 natd all from 192.168.1.1/24 to any via wi0
stop)
/etc/rc.conf
=====================================
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.2.1 netmask 255.255.255.0"pccard_ifconfig="inet 10.10.1.1 netmask 255.255.255.240 ssid Enigma stationname VRC"
ifconfig_wi0_alias0="inet 10.10.1.2 netmask 255.255.255.255 ssid Enigma stationname VRC"natd_enable="YES"
natd_interface="10.10.1.1"
natd_flags="-p 8668"firewall_enable="YES"
firewall_script="/etc/rc.firewall.local"
/etc/rc.firewall.local
=====================================
fw="/sbin/ipfw"$fw -f flush
# Divert traffic
$fw add 100 divert 8668 ip from 192.168.1.0/24 to any via 10.10.1.1
$fw add 101 divert 8668 ip from any to 10.10.1.1$fw add 900 allow all from any to any
/usr/local/etc/rc.d/inet2.sh
=====================================
#!/bin/shcase "$1" in
start)
echo "Starting network #2 via wi0/alias"
/sbin/natd -p 8669 -a 10.10.1.2
/sbin/ipfw add 102 divert 8669 ip from 192.168.2.0/24 to any via 10.10.1.2
/sbin/ipfw add 103 divert 8669 ip from any to 10.10.1.2
;;
stop)
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esacexit 0
which natd >> /etc/rc.local
vi /etc.rc.localтам и пиши, что запускать
еще можно сказать more /etc/rc и найти много интересного
>which natd >> /etc/rc.local
>vi /etc.rc.local
>еще можно сказать more /etc/rc и найти много интересного
ну что там интересного есть мы в курсе, только хочется делать все правильно, а не правкой скриптов которые в принцыпе должны быть read-only