Уже неделю мучаюсь.
Во общем был у меня дома сервачек с FreeBSD 7.2 все работало да неожидано жеский сдох...
Вот решил установить FreeBSD 8.0. Установил, скомпилировал ядро и необходимый софт.
Скопировал правила для IPFW с бекапа старой машинки.
Проверяю инет...неработает......
пингую роутер с сервера....пинг не идет...
В общем покапавшись в правилах, нашел что это все из-за правил divert. Закоментил, интернет на сервере заработал.
Пару дней игр с правилами не дало результат...При включении правил ната роутер переставал пинговаться.
Решил перейти на kernel nat. скомпилировал ядро, перезагрузился, написал скрипт с правилами, запускаю, вуа-ля интернет заработал. Я обрадовался прописал в rc.conf путь к скрипту правил. reboot.......
После перезагрузки сервер вообще перестал пинговаться.
Подключаюсь локально.
Пингую внутрений ип...нет ответа
Пингую внешний ип
sendto: permission denied
При комментировании строк ната все начинало работь...
куда копать?? Правила только что работали....
ПОЖАЛУЙСТА ПОМОГИТЕ!!
А то меня скоро жена из дома выгонит))
Целую неделю сижу ночами.
Задача вроде простая.
Это последние правила....
Код: Выделить всё
#!/bin/sh
ipfw="/sbin/ipfw"
${ipfw} -f flush
${ipfw} -f pipe flush
${ipfw} -f queue flush
NetIn="192.168.1.0"
NetMask="24"
IpOut="192.168.0.1"
IpIn="192.168.1.1"
${ipfw} add 10 nat 123 ip from ${NetIn}/${NetMask} to any
${ipfw} add 20 nat 123 ip from any to ${IpOut}
${ipfw} add pipe 1 ip from ${IpOut} to ${NetIn}/${NetMask}
${ipfw} pipe 1 config bw 100Mbit/s
${ipfw} add pipe 2 ip from ${IpIn} to ${NetIn}/${NetMask}
${ipfw} pipe 2 config bw 100Mbit/s
${ipfw} add pipe 3 ip from any to any tcpflags ack iplen 0-128
${ipfw} pipe 3 config bw 100Mbit/s
${ipfw} add skipto 39999 ip from any to any tcpflags ack iplen 0-128
i=10
while [ $i != 20 ]
do
${ipfw} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.1.${i}
if [ $i -eq 10 -o $i -eq 11 -o $i -eq 12 -o $i -eq 15 ]
then
${ipfw} pipe $i config bw 512000bit/s
else
${ipfw} pipe $i config bw 52000bit/s
fi
i=$(($i+1))
done
${ipfw} add 40000 check-state
${ipfw} add allow ip from any to any via lo0
${ipfw} add deny all from 127.0.0.0/8 to any
${ipfw} add deny all from any to 127.0.0.0/8
${ipfw} add 65000 allow ip from any to any
