ng_nat

Обсуждаем OS FreeBSD и сервисы на ней.

Re: ng_nat

Сообщение lehisnoe » 16 окт 2009, 08:24

Не работает что? Редирект трафика входящего или исходящего? Правила ipfw отрабатываются? Какая версия FreeBSD? Что выводит
Код: Выделить всё
sysctl -n net.inet.ip.forwarding
?
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: ng_nat

Сообщение root » 16 окт 2009, 09:20

Paltish писал(а):по поводу схемки, просто очень лень рисовать

ну как знаешь, со схемой наши ответы были бы точнее

покажи вывод
Код: Выделить всё
ipfw show
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_nat

Сообщение Paltish » 18 окт 2009, 20:36

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

Ну если добавить 3 правила выше указаные что там должно быть?
Понятно что:
Код: Выделить всё
00301 602888 712844629 netgraph 61 ip from any to x.x.x.x via rl0 in
00302 0 0 netgraph 61 ip from any to x.x.x.x+1 via rl0 in
00310 502759 210602246 netgraph 60 ip from 10.10.11.0/26 to any via rl0 out
Paltish
новичок
 
Сообщения: 14
Зарегистрирован: 13 окт 2009, 00:12

Re: ng_nat

Сообщение root » 19 окт 2009, 15:38

Paltish
это же не все правила, что есть на сервере, не так ли ? где остальные ?

могу пояснить к чему такая просьба
вот пример из жизни:
имеем серую подсеть 192.168.40.0/24, которую нужно выпустить в Инет, через NAT, на примере natd
скажем внешник будет 111.111.222.222
запускаем natd:
Код: Выделить всё
natd -s -m -a 111.111.222.222

пишем следующие правила в ipfw:
Код: Выделить всё
ipfw add 100 allow icmp from 192.168.40.0/24 to any
ipfw add 110 allow icmp from any to 192.168.40.0/24
ipfw add 200 divert 8668 ip from any to 111.111.222.222
ipfw add 210 divert 8668 ip from 192.168.40.0/24 to any


вот юзер из подсети 192.168.40.0/24 открывает браузером сайт google.ru и он спокойно открывается, нат работает
а затем он открывает командную строчку и пишет:
Код: Выделить всё
ping google.ru

а теперь вопрос:
исходя из правил написанных выше, получит ли юзер ответ (ICMP Reply) на свой пинг (ICMP Request) ?

далее, зачем там у тя 3 правила ?
что ты хотел сказать этим:
Paltish писал(а):00302 0 0 netgraph 61 ip from any to x.x.x.x+1 via rl0 in

что такое +1 ? второй ип ? накой он там ?
ты можешь четко сказать что ты пытаешся сделать ?

Paltish писал(а):что там должно быть?

вот рабочий пример:
Код: Выделить всё
ipfw add 2005  netgraph 5 ip from 192.168.40.0/24 to any via vlan1 out
ipfw add 2006 netgraph 6 ip from any to 77.XX.XX.XX via vlan1 in


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

Код: Выделить всё
  Name: nat5            Type: nat             ID: 00000004   Num hooks: 2
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  in              ipfw            ipfw         00000001        6
  out             ipfw            ipfw         00000001        5

который будет натить клиентов из подсети 192.168.40.0/24 в инет, через реальник 77.XX.XX.XX
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: ng_nat

Сообщение Paltish » 20 окт 2009, 23:55

Так, я понял что ты хочеш узнать, хоть ето тебе и не поможет,
Значит так, ПАТ - у меня работает, а вот НАТ(Проброс реальников)- нет, чтоб небыло недомолвок буду писать как можно подробней.

ето в /usr/local/etc/rc.d

Код: Выделить всё
#!/bin/sh
echo -n ' utility'

case "$1" in
start)
        /usr/sbin/ngctl mkpeer ipfw: nat 60 out
    /usr/sbin/ngctl name ipfw:60 natA
    /usr/sbin/ngctl connect ipfw: natA: 61 in
    /usr/sbin/ngctl msg natA: setaliasaddr 88.81.238.27
        ;;
stop)
        /usr/sbin/ngctl shutdown natA:
        ;;
*)
        echo "Usage: `basename $0` {start|stop}" >&2
        exit 64
        ;;
esac

exit 0


Фаер типа=open
В фаере table\(100\)=ето список UA-IX сетей
ХХ.ХХ.ХХ.01 внешний для Пата
хх.хх.хх.02 внешний для Ната


Код: Выделить всё
ipfw add 310 netgraph 61 ip from any to ХХ.ХХ.ХХ.01 via rl0 in
ipfw add 311 netgraph 60 ip from 10.10.11.0/24 to any via rl0 out
ipfw add 311 netgraph 61 ip from any to хх.хх.хх.02 via rl0 in

#
ipfw pipe 10436 config bw 1024Kbit/s
ipfw pipe 10437 config bw 256Kbit/s
ipfw add 570 pass ip from table\(100\) to 10.10.11.24 out
ipfw add 571 pass ip from 10.10.11.24 to table\(100\) in
ipfw add 572 pipe 10436 ip from any to 10.10.11.24 out
ipfw add 573 pipe 10437 ip from 10.10.11.24 to any in
#
ipfw pipe 10554 config bw 1024Kbit/s
ipfw pipe 10555 config bw 256Kbit/s
ipfw add 806 pass ip from table\(100\) to 10.10.11.27 out
ipfw add 807 pass ip from 10.10.11.27 to table\(100\) in
ipfw add 808 pipe 10554 ip from any to 10.10.11.27 out
ipfw add 809 pipe 10555 ip from 10.10.11.27 to any in
#
#ipfw pipe 10556 config bw 1024Kbit/s
#ipfw pipe 10557 config bw 256Kbit/s
#ipfw add 810 pass ip from table\(100\) to 10.10.11.20 out
#ipfw add 811 pass ip from 10.10.11.20 to table\(100\) in
#ipfw add 812 pipe 10556 ip from any to 10.10.11.20 out
#ipfw add 813 pipe 10557 ip from 10.10.11.20 to any in
#
#ipfw pipe 10558 config bw 512Kbit/s
#ipfw pipe 10559 config bw 512Kbit/s
#ipfw add 814 pass ip from table\(100\) to 10.10.11.132 out
#ipfw add 815 pass ip from 10.10.11.132 to table\(100\) in
#ipfw add 816 pipe 10558 ip from any to 10.10.11.132 out
#ipfw add 817 pipe 10559 ip from 10.10.11.132 to any in
#
ipfw pipe 10560 config bw 1024Kbit/s
ipfw pipe 10561 config bw 512Kbit/s
ipfw add 818 pass ip from table\(100\) to 10.10.11.6 out
ipfw add 819 pass ip from 10.10.11.6 to table\(100\) in
ipfw add 820 pipe 10560 ip from any to 10.10.11.6 out
ipfw add 821 pipe 10561 ip from 10.10.11.6 to any in
#
ipfw pipe 10562 config bw 1024Kbit/s
ipfw pipe 10563 config bw 1024Kbit/s
ipfw add 822 pass ip from table\(100\) to 10.10.11.162 out
ipfw add 823 pass ip from 10.10.11.162 to table\(100\) in
ipfw add 824 pipe 10562 ip from any to 10.10.11.162 out
ipfw add 825 pipe 10563 ip from 10.10.11.162 to any in


Я надеюсь етого достаточно, если нет скажы что дописать
Paltish
новичок
 
Сообщения: 14
Зарегистрирован: 13 окт 2009, 00:12

Re: ng_nat

Сообщение lehisnoe » 21 окт 2009, 08:13

В конфиге не увидел:
Код: Выделить всё
###Посылаем управляющее сообщение в виде структуры для редиректа
/usr/sbin/ngctl msg natA: redirectaddr '{ local_addr=192.168.56.2 alias_addr=192.168.20.8 description="redir_addr" }'

А без нее не будет работать static NAT
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: ng_nat

Сообщение Paltish » 23 окт 2009, 17:25

tето тоже есть, отдельной командой.
Paltish
новичок
 
Сообщения: 14
Зарегистрирован: 13 окт 2009, 00:12

Re: ng_nat

Сообщение lehisnoe » 24 окт 2009, 21:19

1. Покажи вывод
Код: Выделить всё
/usr/sbin/ngctl msg natA: listredirects

2. Каунтеры в правилах ipfw, касаемых НАТ, отрабатывают?
3. Смотрел tcpdump'ом, в какую сторону не работает NAT (т.е., нат исходящего трафика не работает или нат входящего не работает)?
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: ng_nat

Сообщение Paltish » 05 ноя 2009, 13:46

Пршу прощения, меня небыло некоторое время.

lehisnoe писал(а):1. Покажи вывод
Код: Выделить всё
/usr/sbin/ngctl msg natA: listredirects

2. Каунтеры в правилах ipfw, касаемых НАТ, отрабатывают?
3. Смотрел tcpdump'ом, в какую сторону не работает NAT (т.е., нат исходящего трафика не работает или нат входящего не работает)?



1 Rec'd response "listredirects" (10) from "[3]:":
Args: { total_count=1 redirects=[ { id=1 local_addr=10.0.0.2 alias_addr=88.81.хх.хх proto=259 description="redir_addr" } ] }
2 Отрабатывают
3 не смотрел
Последний раз редактировалось Paltish 05 ноя 2009, 16:35, всего редактировалось 1 раз.
Paltish
новичок
 
Сообщения: 14
Зарегистрирован: 13 окт 2009, 00:12

Re: ng_nat

Сообщение lehisnoe » 05 ноя 2009, 16:16

В правиле:
ipfw add 311 netgraph 60 ip from 10.10.11.0/24 to any via rl0 out


В конфиге статик-ната:
Paltish писал(а):Args: { total_count=1 redirects=[ { id=1 local_addr=10.0.0.2 alias_addr=88.81.238.36 proto=259 description="redir_addr" } ] }


Отсюда и неработоспособность static NAT, т.к. ipfw адрес 10.0.0.2 не завернет в netgraph.
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Пред.След.

Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34