NAT в FREEBSD 8.0

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
SiG
проходил мимо

NAT в FREEBSD 8.0

Непрочитанное сообщение SiG » 2010-06-13 2:58:03

Пожалуйста помогите с натом.
Уже неделю мучаюсь.
Во общем был у меня дома сервачек с 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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

SiG
проходил мимо

Re: NAT в FREEBSD 8.0

Непрочитанное сообщение SiG » 2010-06-13 3:12:04

Прошу прошения за беспокойство

Код: Выделить всё

sysctl net.inet.ip.fw.one_pass=0
помогло