Страница 1 из 2

freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 12:37:30
Гость
Подскажите пожалуйста. Проблема в следующем:
После перезагрузки комп. не работает nat, при этом natd стартует и правила файрвола (ipfw) грузятся. Ручной запуск скрипта с правилами фаервола исправляет ситуацию с нат. Правила остаются те же.
На 7 версии такой проблемы нет.

shluz# uname -a
FreeBSD shluz.office.local 8.1-RELEASE FreeBSD 8.1-RELEASE #1: Sun Sep 19 21:13:16 ALMT 2010 admin@shluz.office.local:/usr/obj/usr/src/sys/PROXY i386

Кто нибудь сталкивался с таким?

shluz# cat /etc/rc.conf

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

defaultrouter="192.168.10.1"
gateway_enable="YES"
hostname="shluz.office.local"
ifconfig_vr0="inet 192.168.10.250  netmask 255.255.255.0"
ifconfig_my0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_my0_alias0="inet 192.168.2.250 netmask 255.255.255.0"

keymap="ru.koi8-r"
ntpdate_enable="YES"
ntpdate_flags="pool.ntp.org"
rpcbind_enable="YES"
sshd_enable="YES"

firewall_enable="YES"
firewall_logging="YES"
firewall_script="/etc/rc.q"

natd_enable="YES"                 # Включаем NATD функцию
natd_interface="vr0"                # имя интерфейса который смотрит в интер
natd_flags="-s -u -m -dynamic"

proftpd_enable="YES"
apache22_enable="YES"
apache2ssl_enable="YES"


Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 12:42:37
nixnix
попробуй скрипт переложить в /usr/local/etc/rc.d и путь поправить firewall_script="/usr/local/etc/rc.d/ipfww(твоё имя скрипта) " например

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:00:47
manefesto
а зачем его ложить в /usr/local/etc/rc.d ?
вообще то конфиг /etc/rc.firewall.
Что за велосипеды ?

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:04:36
nixnix
а зачем его ложить в /usr/local/etc/rc.d ?

удобно все в одном месте

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:06:48
manefesto
мдя, а ты знаешь для чего /usr/local ?
Предлагаю тебе все ставить из исходников не используя порты
И да....какого хрена конфиг должен лежать в папке со стартовыми скриптами???

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:07:56
nixnix
Знаю и что ? А мне из портов нравиться ставить , за это и полюбил фряху :-D

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:08:18
manefesto
manefesto писал(а): И да....какого хрена конфиг должен лежать в папке со стартовыми скриптами???
брысь учить матчасть

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:11:59
manefesto
от темы ушли.
Попробуй старовать нат перед фаерволом

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:12:13
hizel
может содержание /etc/rc.q поможет

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:13:01
nixnix
не понимаю

/usr/local/etc/rc.d у меня лежит скрипт с настройками фаира - ipfw (который начинается с
#!/bin/sh
ipfw="/sbin/ipfw -q"

ниже идут правила фаира

далее в rc.conf прописал


firewall_enable="yes"
firewall_script="/usr/local/etc/rc.d/ipfw"
firewall_type="SIMPLE"
natd_enable="yes"
natd_interface="wan"

все прекрасно робит и стартует автоматом и нат пашет

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:14:26
manefesto
не по феншую и все тут. не спорь с комрадами, не засирай систему

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:15:07
hizel
nixnix писал(а):не понимаю

/usr/local/etc/rc.d у меня лежит скрипт с настройками фаира - ipfw (который начинается с
#!/bin/sh
ipfw="/sbin/ipfw -q"

ниже идут правила фаира

далее в rc.conf прописал


firewall_enable="yes"
firewall_script="/usr/local/etc/rc.d/ipfw"
firewall_type="SIMPLE"
natd_enable="yes"
natd_interface="wan"

все прекрасно робит и стартует автоматом и нат пашет
он у вас два раза выполняется, зачем?

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:17:39
nixnix
всмысле два раза, в rc.conf указан только путь к скрипту, в ipfw описаны действия скрипта всё логично

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:19:30
hizel
в прямом смысле, у вас этот /usr/local/etc/rc.d/ipfw запускается два раза при старте системы

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:24:10
nixnix
у меня все запускается один раз и прекрасно работает

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:27:32
manefesto
а ты логи глянь....

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 13:32:58
nixnix
Зачем их смотреть. если все прекрасно работает, я в них смотрю. если совсем плохо дело и даже гугл не помогает :roll:

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:10:51
old_iva
manefesto писал(а):от темы ушли.
Попробуй старовать нат перед фаерволом
пробывал- фиолетово
rc.firewall не хочу использовать открытый
ниже приведен тот самый rc.q
он не причесан так как число экспериментов над правилами уже довольно велико
в принципе он взят с боевого сервака , отличие убрана специфика по конкретным машинам и часть инет.сервисов (скада и пр.)

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

#!/bin/sh

FwCMD="/sbin/ipfw"            # бинарник IPFW

LanOut="vr0"                  # Внешняя сетевуха
NetOut="192.168.10.1/24"   # внешняя сеть
IpOut="192.168.10.250"       # Внешний IP

LanIn="my0"                   # внутренняя сетевуха
NetIn="192.168.1.0/24"        # Внутренняя сеть
ip_lan="192.168.1.1"            # Шаблон внутреннего адреса
                              # нужен для ввода разрешений на инет
NetIn1="192.168.2.0/24"
ip_lan1="192.168.2.250"
#сбрасываем правила
${FwCMD} -q -f flush

#ipfw -q -f flush # чистим
# устанавливаем переменные
cmd="ipfw -q add " # для краткости

${FwCMD} add allow ip from any to any via lo0
# режем частные сети на внешнем интерфейсе - по легенде он у нас
# смотрит в интернет, а значит пакетам этим браться неоткуда на нём.
# рубим частные сeти
${FwCMD} add deny ip from any to 10.0.0.0/13 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.32.0/23 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.34.0/24 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.36.0/22 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.40.0/21 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.48.0/20 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.64.0/18 in via ${LanOut}
${FwCMD} add deny ip from any to 10.10.128.0/17 in via ${LanOut}
${FwCMD} add deny ip from any to 10.11.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 10.12.0.0/14 in via ${LanOut}
${FwCMD} add deny ip from any to 10.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 10.32.0.0/11 in via ${LanOut}
${FwCMD} add deny ip from any to 10.64.0.0/10 in via ${LanOut}
${FwCMD} add deny ip from any to 10.128.0.0/9 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
#${FwCMD} add deny ip from any to 192.168.0.0/21 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.8.0/23 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.12.0/22 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.16.0/20 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.32.0/19 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.64.0/18 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.128.0/17 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny icmp from any to 255.255.255.255 out via ${LanOut}
${FwCMD} add deny ip from any to 255.255.255.255 in via ${LanIn}
#разрешаем к апачу
${FwCMD} add allow ip from any to me 80
# Отправляем всех на squid
#${FwCMD} add allow log tcp from 192.168.10.110 to any via ${LanIn}

# via ${LanIn}
#разрешаем доступ к фаеру с локалки
${FwCMD} add allow ip from any to me in via ${LanIn}
#разрешаем доступ к локалки от фаера
${FwCMD} add allow ip from me to any out via ${LanIn}
#${FwCMD} add allow ip from any to any

#запрещаем трафик локалки на внутреннем интерфейсе
#${FwCMD} add deny ip from ${NetIn} to ${NetIn} in via ${LanIn}

# теперь загружаем, используя краткие "макросы"
$cmd divert natd all from any to any

# рубим траффик к частным сетям через внешний интерфейс
# заметтьте - эти правила отличаются от тех что были выше!
${FwCMD} add deny ip from 10.0.0.0/13 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.32.0/23 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.34.0/24 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.36.0/22 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.40.0/21 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.48.0/20 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.64.0/18 to any out via ${LanOut}
${FwCMD} add deny ip from 10.10.128.0/17 to any out via ${LanOut}
${FwCMD} add deny ip from 10.11.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 10.12.0.0/14 to any out via ${LanOut}
${FwCMD} add deny ip from 10.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 10.32.0.0/11 to any out via ${LanOut}
${FwCMD} add deny ip from 10.64.0.0/10 to any out via ${LanOut}
${FwCMD} add deny ip from 10.128.0.0/9 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
#${FwCMD} add deny ip from 192.168.0.0/21 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.8.0/23 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.12.0/22 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.16.0/20 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.32.0/19 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.64.0/18 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.128.0/17 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
# DNS
${FwCMD} add allow udp from any to any 53
${FwCMD} add allow udp from any 53 to any
# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
${FwCMD} add allow tcp from any to me 22

#разрешаем от фаервола в инет
${FwCMD} add allow ip from ${IpOut} to any out via ${LanOut} keep-state
#разрешаем из локалки на почту
${FwCMD} add allow ip from ${NetIn} to any in via ${LanIn}
#разрешаем пинги
${FwCMD} add allow icmp from ${NetIn} to any in via ${LanIn}
${FwCMD} add allow icmp from any to ${NetIn} in via ${LanOut}
${FwCMD} add allow icmp from any to ${NetIn} out via ${LanIn}
# разрешаем tcp-пакеты по уже установленным соединениям
${FwCMD} add allow tcp from any to any established


Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:14:52
hizel
проблемные места

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

cmd="ipfw -q add " # для краткости

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

$cmd divert natd all from any to any
о да, краткость сестра таланта :]

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:18:24
old_iva
и в чем здесь проблема?

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:22:34
hizel
думаю в то что нет полного пути до ipfw
не зря у вас выше :}

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

FwCMD="/sbin/ipfw"

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:31:35
old_iva
спасибо попробую, только непонятно почему он при запуске вручную срабатывает.

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-06 15:37:49
hizel
потому что у рута от которого вы запускаете все пучочком с env и PATH

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-07 6:23:00
old_iva
исправил следующим образом
...........
FwCMD="/sbin/ipfw"
............
${FwCMD} add divert natd ip from any to any
...........
Все равно правило divert автоматом не включается

Если стартовать от рута то все нормально. Какие еще мысли есть по этому поводу?

Re: freebsd 8.1 и автозауск natd

Добавлено: 2010-10-08 9:30:46
skut
Можно маленький вопрос не в тему дабы не создавать отдельную.

А зачем natd, если ipfw и сам натит?