ipfw policy routing
Добавлено: Сб дек 31, 2011 7:54 am
Всех С Наступающим !
Подключил второй канал в инет, но никак не могу его настроить, за основу взял скрипт в мануале:
freebsd 7.2
Ядро скомпилировано с:
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
Установил:
net.inet.ip.fw.one_pass=0
сам скрипт: (в строках 60010 и 60020 добавил add)
#!/bin/sh
IPFW="/sbin/ipfw"
EXT_IP="2.2.2.2" - реальный IP от 2-го от прова
ISP_IP="2.2.2.254" - шлюз 2-го от прова
FWD_NAT_ID=22
USER_TABLE_NUM=34
REDIRECT_IPS="172.16.37.0/24" - pppoe-адреса
#Add NAT IP to table
${IPFW} table 33 add ${EXT_IP} ${FWD_NAT_ID}
${IPFW} nat ${FWD_NAT_ID} config ip ${EXT_IP} log
for ip_mask in ${REDIRECT_IPS} ; do
${IPFW} table ${USER_TABLE_NUM} add ${ip_mask} ${FWD_NAT_ID}
done;
${IPFW} 60010 add nat tablearg ip from table\(34\) to any
${IPFW} 60015 add fwd ${ISP_IP} ip from ${EXT_IP} to any
${IPFW} 60020 addd nat tablearg ip from any to table\(33\)
Но, не работает .... в правиле 60015 - нули ....
В rc.conf прописано:
#Shaper
abills_shaper_enable="YES"
abills_nas_id="1"
abills_shaper_if=""
abills_nat="1.1.1.2:172.16.35.0/24 172.16.36.0/24:fxp0", где 1.1.1.2 - реальный IP от 1-го прова
abills_nat="2.2.2.2:172.16.37.0/24:age0" , где 2.2.2.2 - реальный IP от 2-го прова
show table 33 list
2.2.2.2/32 22 - реальный IP от 2-го прова
1.1.1.2/32 21 - реальный IP от 1-го прова
show table 34 list
10.128.12.6/32 21 - физический адрес клиента
172.16.35.0/24 21 - pppoe-адресация клиентов, ходят через 1-го прова
172.16.36.0/24 21 - pppoe-адресация клиентов, ходят через 1-го прова
172.16.37.0/24 22 - pppoe-адресация клиентов, должны ходит через 2-го прова
172.16.37.6/32 21 - pppoe-адрес клиента, должен ходит через 2-го прова, а ему присваивается шлюз 1-го прова ?
1.1.1.2/32 21 - реальный IP от 1-го прова
В mpd.conf у меня прописано:
set ipcp ranges 1.1.1.2/32 ippool pool1 - реальный IP от 1-го прова. Причина в этом ? Как ее обойти ?
Где копать ?
Подключил второй канал в инет, но никак не могу его настроить, за основу взял скрипт в мануале:
freebsd 7.2
Ядро скомпилировано с:
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
Установил:
net.inet.ip.fw.one_pass=0
сам скрипт: (в строках 60010 и 60020 добавил add)
#!/bin/sh
IPFW="/sbin/ipfw"
EXT_IP="2.2.2.2" - реальный IP от 2-го от прова
ISP_IP="2.2.2.254" - шлюз 2-го от прова
FWD_NAT_ID=22
USER_TABLE_NUM=34
REDIRECT_IPS="172.16.37.0/24" - pppoe-адреса
#Add NAT IP to table
${IPFW} table 33 add ${EXT_IP} ${FWD_NAT_ID}
${IPFW} nat ${FWD_NAT_ID} config ip ${EXT_IP} log
for ip_mask in ${REDIRECT_IPS} ; do
${IPFW} table ${USER_TABLE_NUM} add ${ip_mask} ${FWD_NAT_ID}
done;
${IPFW} 60010 add nat tablearg ip from table\(34\) to any
${IPFW} 60015 add fwd ${ISP_IP} ip from ${EXT_IP} to any
${IPFW} 60020 addd nat tablearg ip from any to table\(33\)
Но, не работает .... в правиле 60015 - нули ....
В rc.conf прописано:
#Shaper
abills_shaper_enable="YES"
abills_nas_id="1"
abills_shaper_if=""
abills_nat="1.1.1.2:172.16.35.0/24 172.16.36.0/24:fxp0", где 1.1.1.2 - реальный IP от 1-го прова
abills_nat="2.2.2.2:172.16.37.0/24:age0" , где 2.2.2.2 - реальный IP от 2-го прова
show table 33 list
2.2.2.2/32 22 - реальный IP от 2-го прова
1.1.1.2/32 21 - реальный IP от 1-го прова
show table 34 list
10.128.12.6/32 21 - физический адрес клиента
172.16.35.0/24 21 - pppoe-адресация клиентов, ходят через 1-го прова
172.16.36.0/24 21 - pppoe-адресация клиентов, ходят через 1-го прова
172.16.37.0/24 22 - pppoe-адресация клиентов, должны ходит через 2-го прова
172.16.37.6/32 21 - pppoe-адрес клиента, должен ходит через 2-го прова, а ему присваивается шлюз 1-го прова ?
1.1.1.2/32 21 - реальный IP от 1-го прова
В mpd.conf у меня прописано:
set ipcp ranges 1.1.1.2/32 ippool pool1 - реальный IP от 1-го прова. Причина в этом ? Как ее обойти ?
Где копать ?