The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"два демона Natd помогите :)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 02-Янв-15, 17:53 
Всем привет! В общем надо поднять 2 демон Natd. С основным проблем нет, интернет работает, все замечательно. Скопировал в etc/rc.d/natd в natd2, отредактировал заменив natd_interface на natd2_interface.
В rc.conf:
natd2_enable="YES"
natd2_interface="rl2"
natd2_flags="-f /etc/natd2.conf"

И тут грабли, для запуска второго экземпляра natd2 просит natd2 в /sbib/, там же скопировал natd в natd2. При таком раскладе, одновременно запустится они не могут. При запуске natd2 freebsd пишет что уже запущен процес. В процессах весит Natd, убив его могу запустить второй.  Одновременно никак не получается. в /sbib/natd2 в нем нешел natd.pid и переименовал на natd2.pid freebsd ругается что символы не те.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "два демона Natd помогите :)"  +/
Сообщение от universite email(ok) on 02-Янв-15, 18:57 
Читаем /etc/rc.d/natd до просветления и на основе него делаете аналог для natd2

А лучше использовать ipfw nat. Более гибко и масштабируемо.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 02-Янв-15, 19:14 
> Читаем /etc/rc.d/natd до просветления и на основе него делаете аналог для natd2

Что то никак не просветлился....

> А лучше использовать ipfw nat. Более гибко и масштабируемо.

с помощью pf.conf сделал, работает.
Вот решил заморочиться со 2 демоном.


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "два демона Natd помогите :)"  +/
Сообщение от universite email(ok) on 02-Янв-15, 20:36 
>> Читаем /etc/rc.d/natd до просветления и на основе него делаете аналог для natd2
> Что то никак не просветлился....

Читайте дальше.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 02-Янв-15, 20:40 
>>> Читаем /etc/rc.d/natd до просветления и на основе него делаете аналог для natd2
>> Что то никак не просветлился....
> Читайте дальше.

У вас получилось поднять? Или не заморачивались. Если удалось то хоть логику подскажите, а то застрял немного.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "два демона Natd помогите :)"  +/
Сообщение от universite email(ok) on 02-Янв-15, 21:40 
>>>> Читаем /etc/rc.d/natd до просветления и на основе него делаете аналог для natd2
>>> Что то никак не просветлился....
>> Читайте дальше.
> У вас получилось поднять? Или не заморачивались. Если удалось то хоть логику
> подскажите, а то застрял немного.

у меня ipfw nat , несколько инстансов
копию демона реально сделать.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

10. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 02-Янв-15, 21:42 
я копировал, правил, но запускается только один, либо второй отключив первый. Завтра буду еще пробывать.


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "два демона Natd помогите :)"  +/
Сообщение от Pahanivo (ok) on 02-Янв-15, 23:04 
> я копировал, правил, но запускается только один, либо второй отключив первый. Завтра
> буду еще пробывать.

цифра в divert правиле не наводит на размышлизмы?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 03-Янв-15, 11:24 
>> я копировал, правил, но запускается только один, либо второй отключив первый. Завтра
>> буду еще пробывать.
> цифра в divert правиле не наводит на размышлизмы?

Можешь подсказать в каком конфиге? Я копировал, может не все?
/etc/rc.d/natd
/sbin/natd
соответственно переименовывал на natd2.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору
Часть нити удалена модератором

16. "два демона Natd помогите :)"  +/
Сообщение от DeadLoco (ok) on 04-Янв-15, 17:15 
> Потом по мере изучения, поиска статей, прочтения книг, они начали появляться!

Но ведь у вас они могли появиться уже прямо сразу же! Стоило только прочитать ман к натд, где написано белым по черному, как создавать несколько инстансов ната, не занимаясь вивисекцией с копированием бинарников!

man natd
. . . . .
Options can be divided to several sections.  Each section
applies to own natd instance.  This ability allows to config‐
ure one natd process for several NAT instances.  The first
instance that always exists is a "default" instance.  Each
another instance should begin with

    instance instance_name

At the next should be placed a configuration option.  Example:

    # default instance
    port 8668
    alias_address 158.152.17.1

    # second instance
    instance dsl1
    port 8888
    alias_address 192.168.0.1
. . . . .


Ответить | Правка | Наверх | Cообщить модератору

17. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 04-Янв-15, 17:21 
>[оверквотинг удален]
>     instance instance_name
> At the next should be placed a configuration option.  Example:
>     # default instance
>     port 8668
>     alias_address 158.152.17.1
>     # second instance
>     instance dsl1
>     port 8888
>     alias_address 192.168.0.1
> . . . . .

данный вариант я пробовал:
natd.conf
log
instance default
interface ng0
port 8668
use_sockets yes
same_ports yes

instance re0
interface re0
port 8669
use_sockets yes
same_ports yes

globalport 8670
В rc.firewall добовлял:
${fwcmd} add divert 8668 all from any to any via ${PPPoE}
${fwcmd} add divert 8667 all from any to any via ${oif}

При загрузке freebsd natd не стартует (по каким причинам я не знаю) а вот если вручную стартануть, то все прекрасно работает, возможно из за того что интернет у меня PPPoE (mpd5).

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "два демона Natd помогите :)"  +/
Сообщение от DeadLoco (ok) on 04-Янв-15, 17:32 
> При загрузке freebsd natd не стартует (по каким причинам я не знаю)

Если у вас что-то не работает, значит надо читать логи. А уж потом, когда чтение логов не поможет - морочить другим головы.

Вы занимаетесь ерундой, при этом не желаете сделать очевидное - разобраться.

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 04-Янв-15, 20:01 
>> При загрузке freebsd natd не стартует (по каким причинам я не знаю)
> Если у вас что-то не работает, значит надо читать логи. А уж
> потом, когда чтение логов не поможет - морочить другим головы.
> Вы занимаетесь ерундой, при этом не желаете сделать очевидное - разобраться.

unknown interface name ng0

Как и раньше предполагала, сначала стартует natd, а потом mpd5 (ng0). Вот в этом и причина. Как решить пока не знаю.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 04-Янв-15, 20:17 
> морочить другим головы.

проблема в том,что ipfw инициализируется раньше mpd5, и когда он пытается это сделать, интерефейса ng0 еще нет - отсюда и ошибка.
так точно.

http://forum.lissyara.su/viewtopic.php?f=4&t=30368

так что не надо говорить, что я морочу другим голову, вы сначала попробуйте сами создать 2 ната как в моем случае, а потом говорите громкие слова.....

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

22. "два демона Natd помогите :)"  +/
Сообщение от DeadLoco (ok) on 04-Янв-15, 20:51 
>> морочить другим головы.
> проблема в том,что ipfw инициализируется раньше mpd5, и когда он пытается это
> сделать, интерефейса ng0 еще нет - отсюда и ошибка.

Фух, как тяжко с вами.

## /etc/rc.conf
. . . . .
natd_enable="YES"
natd_flags="-f /etc/rc.nat -dynamic"
natd_interface="ng0"
. . . . .
опция "-dynamic" как раз и означает, что на момент старта натд энторфейса может и не существовать, а если он и существует, то его параметры - адреса, маски и гейтвеи - могут меняться непредсказуемым образом.
## /etc/rc.nat
instance default
alias_address           x.y.z.a
port                    8600
redirect_port   tcp     10.0.100.1:60001      x.y.z.a:60001
redirect_port   tcp     10.0.100.2:60002      x.y.z.a:60002
redirect_port   tcp     10.0.100.3:60003      x.y.z.a:60003
. . . . .
instance ep3
in_port                 8601
out_port                8602
redirect_address        10.0.100.100          x.y.z.b
alias_address           x.y.z.b
. . . . .
instance db2
. . . . .
. . . . .
globalport 8888

Читайте маны, они рулез.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "два демона Natd помогите :)"  –1 +/
Сообщение от Free_Man email(ok) on 04-Янв-15, 21:03 
>[оверквотинг удален]
>     8602
> redirect_address        10.0.100.100    
>       x.y.z.b
> alias_address           x.y.z.b
> . . . . .
> instance db2
> . . . . .
> . . . . .
> globalport 8888
> Читайте маны, они рулез.

Огромное спасибо! помогли (-dynamic), все заработало, до вашего ответа в mpd5 up.sh прописал.....

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

28. "два демона Natd помогите :)"  +/
Сообщение от михалыч (ok) on 08-Янв-15, 18:37 
> Огромное спасибо! помогли (-dynamic), все заработало, до вашего ответа в mpd5 up.sh прописал.....

кстати таки да, всё правильно, как вариант можно и так
затолкать в up.sh скрипт типо - как-то - так-то

natd -n ng0 -dynamic -p 8669
ipfw add 40 divert 8669 all from any to any via ng0

и потом, если уже не нужен будет,
не забывать прибивать этот второй natd в down.sh скрипте

2 universite
ты че такой? не выспался? ))
ты был когда-нибудь маленький?
у тебя папа, мама был? зачем такой злой? (с)

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

29. "два демона Natd помогите :)"  +/
Сообщение от universite email(ok) on 08-Янв-15, 19:05 

> 2 universite
> ты че такой? не выспался? ))
> ты был когда-нибудь маленький?
> у тебя папа, мама был? зачем такой злой? (с)

Почему люди не читают мануалы? Ему было указано направление, что читать.
Кстати, Handbook FreeBSD не такой уж большой, его можно за один вечер прочитать.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "два демона Natd помогите :)"  +/
Сообщение от михалыч (ok) on 08-Янв-15, 19:21 
>> 2 universite
>> ты че такой? не выспался? ))
>> ты был когда-нибудь маленький?
>> у тебя папа, мама был? зачем такой злой? (с)
> Почему люди не читают мануалы? Ему было указано направление, что читать.
> Кстати, Handbook FreeBSD не такой уж большой, его можно за один вечер
> прочитать.

да, ладно, че там! я ж не против, пусть себе читает, на здоровье ))

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

24. "два демона Natd помогите :)"  +/
Сообщение от universite email(ok) on 05-Янв-15, 15:04 
>>> морочить другим головы.
>> проблема в том,что ipfw инициализируется раньше mpd5, и когда он пытается это
>> сделать, интерефейса ng0 еще нет - отсюда и ошибка.
> Читайте маны, они рулез.

Зря вы так.
Человек не хочет думать, хочет, чтоб ему все разжевали и сделали за него.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

15. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 04-Янв-15, 16:58 
>> я копировал, правил, но запускается только один, либо второй отключив первый. Завтра
>> буду еще пробывать.
> цифра в divert правиле не наводит на размышлизмы?

divert 8668 ip4 from any to any via ng0

natd2 не может стартануть, так как порт занят, вот я и не знаю где изменить 8669 для 2 natd.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

31. "два демона Natd помогите :)"  +/
Сообщение от DN (ok) on 08-Янв-15, 20:46 
> divert 8668 ip4 from any to any via ng0
> natd2 не может стартануть, так как порт занят, вот я и не
> знаю где изменить 8669 для 2 natd.

У Вас два конфига для варианта неядерного natd

## /etc/rc.conf
. . . . .
natd_enable="YES"
natd_flags="-f /etc/natd.conf -dynamic"
natd_interface="ng0"
. . . . .
natd2_enable="YES"
natd2_flags="-f /etc/natd2.conf -dynamic"
natd2_interface="rl2"
. . . . .

## /etc/natd.conf
interface ng0
port 8668
use_sockets yes
same_ports yes
. . . .

## /etc/natd2.conf
interface rl2
port 8669
use_sockets yes
same_ports yes
. . . .

Ну и
ln /sbin/natd /sbin/natd2

Проверьте в ручную /etc/rc.d/natd start|restart|stop и
/etc/rc.d/natd2 start|restart|stop

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

32. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 08-Янв-15, 21:04 
>[оверквотинг удален]
> ## /etc/natd2.conf
> interface rl2
> port 8669
> use_sockets yes
> same_ports yes
> . . . .
> Ну и
> ln /sbin/natd /sbin/natd2
> Проверьте в ручную /etc/rc.d/natd start|restart|stop и
> /etc/rc.d/natd2 start|restart|stop

Спасибо за ответ! У меня как раз natd(2).conf  были не правильные....
/sbin/natd2, копировал, start работает, stop нет, пишет нет var/run/natd2.pid (могу немного пити не правельные написать), тогда залез в (/sbin/natd2, решил к natd.pid добавить 2, при запуске ошибка в виде не правильный символ, или что то вроде.....тогда natd.pid переименовал в mand.pid (ну и в других конфигах подкоректировал на matd) все заработало, natd 2 стартовал и останавливался. Еще раз спасибо, сейчас попробую, отпишусь.  

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 09-Янв-15, 22:37 
>[оверквотинг удален]
> ## /etc/natd2.conf
> interface rl2
> port 8669
> use_sockets yes
> same_ports yes
> . . . .
> Ну и
> ln /sbin/natd /sbin/natd2
> Проверьте в ручную /etc/rc.d/natd start|restart|stop и
> /etc/rc.d/natd2 start|restart|stop

попробовала ваш вариант, в natd.conf тоже пробовал добавить порты. В итоге при старте вручную natd2 получаю: Unable to bind divert socket: Address already in use
natd2 - копия natd с добавлением 2 может тут косяк?  

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

34. "два демона Natd помогите :)"  +/
Сообщение от DN (ok) on 11-Янв-15, 02:28 
> попробовала ваш вариант, в natd.conf тоже пробовал добавить порты. В итоге при
> старте вручную natd2 получаю: Unable to bind divert socket: Address already
> in use

Полагаю, не врет.
netstat -an4 | grep 8669
Что показывает после старта natd ?
> natd2 - копия natd с добавлением 2 может тут косяк?

/etc/rc.d/natd2 в студию.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

35. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 21-Янв-15, 23:04 
> /etc/rc.d/natd2 в студию.

Извини, что так долго....
Брал natd.conf переименовывал все в нем на natd2, так же нашел:


#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/natd,v 1.3.2.1 2006/12/20 12:23:57 yar Exp $
#

# PROVIDE: natd
# KEYWORD: nostart nojail

. /etc/rc.subr
. /etc/network.subr

name="natd2"
rcvar=`set_rcvar`
command="/sbin/natd"
pidfile="/var/run/${name}.pid"
start_precmd="natd2_precmd"

natd2_precmd()
{
   if ! ${SYSCTL} net.inet.divert > /dev/null 2>&1; then
      if ! kldload ipdivert; then
         warn unable to load IPDIVERT module.
         return 1
      fi
   fi

   if [ -n "${natd2_interface}" ]; then
      dhcp_list="`list_net_interfaces dhcp`"
      for ifn in ${dhcp_list}; do
         case "${natd2_interface}" in
         ${ifn})
            rc_flags="$rc_flags -dynamic"
            ;;
         esac
      done

      if echo "${natd2_interface}" | \
          grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then
         rc_flags="$rc_flags -a ${natd2_interface}"
      else
         rc_flags="$rc_flags -n ${natd2_interface}"
      fi
   fi

   return 0
}

load_rc_config $name
run_rc_command "$1"

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

36. "два демона Natd помогите :)"  +/
Сообщение от DN (ok) on 22-Янв-15, 07:10 
Сделайте линк
ln /sbin/natd /sbin/natd2

В /etc/rc.conf.local :
cloned_interfaces="ng0"

> Брал natd.conf переименовывал все в нем на natd2, так же нашел:

Поправьте

> #!/bin/sh
> #
> # $FreeBSD: src/etc/rc.d/natd,v 1.3.2.1 2006/12/20 12:23:57 yar Exp $
> #

# PROVIDE: natd2

> name="natd2"
> rcvar=`set_rcvar`

command="/sbin/${name}"

> pidfile="/var/run/${name}.pid"

start_precmd="${name}_precmd"

> natd2_precmd()

.....


Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

37. "два демона Natd помогите :)"  +/
Сообщение от DeadLoco (ok) on 22-Янв-15, 13:52 
> Сделайте линк
> ln /sbin/natd /sbin/natd2

Ты идиот?

В натд предусмотрена штатная возможность создания нескольких инстансов трансляции с разными конфигами. На одном бинарнике. Выше я специально привел кусок реального конфига, который этих инстансов создает более десятка.

А за линкование/копирование бинарников надо гнать из профессии ссаными тряпками.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

38. "два демона Natd помогите :)"  +/
Сообщение от DN (ok) on 22-Янв-15, 14:44 
>> Сделайте линк
>> ln /sbin/natd /sbin/natd2
> Ты идиот?

Порядочные так не дискутируют и перестаньте "тыкать".

> В натд предусмотрена штатная возможность создания нескольких инстансов трансляции с разными
> конфигами. На одном бинарнике. Выше я специально привел кусок реального конфига,
> который этих инстансов создает более десятка.

Топикпастер такую реализацию выбрал. Может у него релиз FreeBSD древний, в котором
natd не поддерживает опции instance .
Разберется с этой реализацией, будет осваивать instance .

> А за линкование/копирование бинарников надо гнать из профессии ссаными тряпками.

С чего Вы это взяли ?


Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

39. "два демона Natd помогите :)"  +/
Сообщение от Free_Man email(ok) on 22-Янв-15, 14:51 
Проблема решена, (natd_flags="-f /etc/rc.nat -dynamic") все работает, хотел natd2 поднять, если это геморно то возможно и не буду заморачиваться.

Единственное не сритесь тут :)  

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

40. "два демона Natd помогите :)"  +/
Сообщение от DeadLoco (ok) on 22-Янв-15, 15:18 
> С чего Вы это взяли ?

С того, что есть штатное, предусмотренное разработчиками решение, гибкое и развитое.
Но нет, непременно нужно гланды через сфинктер ануса...

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру