не работает ng_nat

Форум для огранизационных вопросов
Закрыто
ponemetski
Сообщения: 38
Зарегистрирован: Чт ноя 13, 2008 15:55

не работает ng_nat

Сообщение ponemetski »

задача настроить ng_netflow+ng_nat на freebsd7

смотрел
viewtopic.php?t=4010&postdays=0&postord ... w&start=15

и
http://wiki.bsdportal.ru/doc:netgraph_ng_nat

решил для начала сделать по man ng_nat

вот мой скрипт, просто вручную его запускаю

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

#!/bin/sh

sysctl net.inet.ip.fw.one_pass=0

echo "Setup ng_nat"

/usr/sbin/ngctl mkpeer ipfw: nat 60 out
/usr/sbin/ngctl name ipfw:60 nat
/usr/sbin/ngctl connect ipfw: nat: 61 in
/usr/sbin/ngctl msg nat: setaliasaddr 192.168.101.191


echo "Setup IPFW"

ipfw add 112 netgraph 61 all from any to any in via em0  # 1
ipfw add 113 netgraph 60 all from any to any out via em0  # 1
#ipfw add 112 netgraph 61 all from not 10.0.0.0/24 to 192.168.101.191 in via em0  # 2
#ipfw add 113 netgraph 60 all from 10.0.0.0/24 to not 10.0.0.0/24 out via em0  #2
# 1 - это строго мануалу, после добавления первого правила выкибывает из ssh, машина не пингуется, с консоли конечно работает

# 2 - про статье которую я вначале указал самой первой, не выкидывает но реального ната нет (подлючаюсь через VPN с пом. mpd4)

что я делаю не так? как запустить хотя-бы пример из мана?
может ли влиять вверсия freebsd? стоит ли поставить 6-ю?

верися freebsd 7.0 RELEASE
в ядро добавлены след опции (относительно GENERIC)

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

options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPFIREWALL_NAT

options         IPDIVERT
options         DUMMYNET
options         LIBALIAS

# netgraph(4).
options         NETGRAPH                # netgraph(4) system
options         NETGRAPH_DEBUG          # enable extra debugging, this
                                        # affects netgraph(4) and nodes
# Node types
options         NETGRAPH_ASYNC
options         NETGRAPH_ATMLLC
options         NETGRAPH_ATM_ATMPIF
options         NETGRAPH_BLUETOOTH              # ng_bluetooth(4)
options         NETGRAPH_BLUETOOTH_BT3C         # ng_bt3c(4)
options         NETGRAPH_BLUETOOTH_H4           # ng_h4(4)
options         NETGRAPH_BLUETOOTH_HCI          # ng_hci(4)
options         NETGRAPH_BLUETOOTH_L2CAP        # ng_l2cap(4)
options         NETGRAPH_BLUETOOTH_SOCKET       # ng_btsocket(4)
options         NETGRAPH_BLUETOOTH_UBT          # ng_ubt(4)
options         NETGRAPH_BLUETOOTH_UBTBCMFW     # ubtbcmfw(4)
options         NETGRAPH_BPF
options         NETGRAPH_BRIDGE
options         NETGRAPH_CAR
options         NETGRAPH_CISCO
options         NETGRAPH_DEFLATE
options         NETGRAPH_DEVICE
options         NETGRAPH_ECHO
options         NETGRAPH_EIFACE
options         NETGRAPH_ETHER
options         NETGRAPH_FEC
options         NETGRAPH_FRAME_RELAY
options         NETGRAPH_GIF
options         NETGRAPH_GIF_DEMUX
options         NETGRAPH_HOLE
options         NETGRAPH_IFACE
options         NETGRAPH_IP_INPUT
options         NETGRAPH_IPFW
options         NETGRAPH_KSOCKET
options         NETGRAPH_L2TP
options         NETGRAPH_LMI
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_NETFLOW
options         NETGRAPH_NAT
options         NETGRAPH_ONE2MANY
options         NETGRAPH_PPP
options         NETGRAPH_PPPOE
options         NETGRAPH_PPTPGRE
options         NETGRAPH_PRED1
options         NETGRAPH_RFC1490
options         NETGRAPH_SOCKET
options         NETGRAPH_SPLIT
options         NETGRAPH_SPPP
options         NETGRAPH_TAG
options         NETGRAPH_TCPMSS
options         NETGRAPH_TEE
options         NETGRAPH_TTY
options         NETGRAPH_UI
options         NETGRAPH_VJC

Arti
Сообщения: 266
Зарегистрирован: Пн окт 01, 2007 02:44

Сообщение Arti »

Должно все работать, если конешно дифолтное правило не блокирует весь трафик.

Для диагностики воспользуйтесь ipfw list, tcpdump, проверьте netgraph - ngctl show ipfw:60 ( ngctl show ipfw:60).

P.S.
Аккуратнее со скриптами, лучше иметь возможность запускать файрвол отделена от скрипта создающего цепочки в нетграф.

ponemetski
Сообщения: 38
Зарегистрирован: Чт ноя 13, 2008 15:55

Сообщение ponemetski »

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

# ipfw show
00112  491  39485 netgraph 61 ip from not 10.0.0.0/24 to 192.168.101.191 in via em0
00113    0      0 netgraph 60 ip from 10.0.0.0/24 to not 10.0.0.0/24 out via em0
65535 1290 122249 allow ip from any to any
здесь ведь нет блокирующих правил?

счетчики на втором правиле не идут. что это может быть?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

схему сети с обозначением где какая сетевуха и адресация.

ponemetski
Сообщения: 38
Зарегистрирован: Чт ноя 13, 2008 15:55

Сообщение ponemetski »

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

# ifconfig
msk0&#58; flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00&#58;0e&#58;0c&#58;4b&#58;ab&#58;ae
        inet 172.18.3.118 netmask 0xfffffffc broadcast 172.18.3.119
        media&#58; Ethernet autoselect &#40;none&#41;
        status&#58; no carrier
em0&#58; flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00&#58;0e&#58;0c&#58;4b&#58;ab&#58;af
        inet 192.168.101.191 netmask 0xffffff00 broadcast 192.168.101.255
        media&#58; Ethernet autoselect &#40;100baseTX <full-duplex>&#41;
        status&#58; active
lo0&#58; flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet6 fe80&#58;&#58;1%lo0 prefixlen 64 scopeid 0x3
        inet6 &#58;&#58;1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
ng0&#58; flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1400
        inet 10.0.0.1 --> 10.0.0.11 netmask 0xffffffff
ng1&#58; flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1500
em0 -- интернет
ng0 -- vpn, здесь подключен клиент с адресом 10.0.0.11 netmask 0xffffffff

ponemetski
Сообщения: 38
Зарегистрирован: Чт ноя 13, 2008 15:55

Сообщение ponemetski »

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

# ngctl
+ list
There are 15 total nodes&#58;
  Name&#58; ngctl875        Type&#58; socket          ID&#58; 00000018   Num hooks&#58; 0
  Name&#58; nat             Type&#58; nat             ID&#58; 00000014   Num hooks&#58; 2
  Name&#58; mpd531-stats    Type&#58; socket          ID&#58; 00000010   Num hooks&#58; 0
  Name&#58; mpd531-pptp2    Type&#58; ppp             ID&#58; 0000000c   Num hooks&#58; 1
  Name&#58; ng1             Type&#58; iface           ID&#58; 0000000b   Num hooks&#58; 0
  Name&#58; mpd531-pptp2-so Type&#58; socket          ID&#58; 0000000a   Num hooks&#58; 1
  Name&#58; mpd531-pptp1    Type&#58; ppp             ID&#58; 00000009   Num hooks&#58; 1
  Name&#58; ng0             Type&#58; iface           ID&#58; 00000008   Num hooks&#58; 0
  Name&#58; mpd531-pptp1-so Type&#58; socket          ID&#58; 00000007   Num hooks&#58; 1
  Name&#58; btsock_l2c      Type&#58; btsock_l2c      ID&#58; 00000006   Num hooks&#58; 0
  Name&#58; btsock_l2c_raw  Type&#58; btsock_l2c_raw  ID&#58; 00000005   Num hooks&#58; 0
  Name&#58; btsock_hci_raw  Type&#58; btsock_hci_raw  ID&#58; 00000004   Num hooks&#58; 0
  Name&#58; ipfw            Type&#58; ipfw            ID&#58; 00000003   Num hooks&#58; 2
  Name&#58; em0             Type&#58; ether           ID&#58; 00000002   Num hooks&#58; 0
  Name&#58; msk0            Type&#58; ether           ID&#58; 00000001   Num hooks&#58; 0
+ show nat&#58;
  Name&#58; nat             Type&#58; nat             ID&#58; 00000014   Num hooks&#58; 2
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  in              ipfw            ipfw         00000003        61
  out             ipfw            ipfw         00000003        60
+ show ipfw&#58;
  Name&#58; ipfw            Type&#58; ipfw            ID&#58; 00000003   Num hooks&#58; 2
  Local hook      Peer name       Peer type    Peer ID         Peer hook
  ----------      ---------       ---------    -------         ---------
  61              nat             nat          00000014        in
  60              nat             nat          00000014        out
+

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

gateway_enable="YES" в rc.conf имеется? иначе не будет маршрутизации между интерфейсами.

ponemetski
Сообщения: 38
Зарегистрирован: Чт ноя 13, 2008 15:55

Сообщение ponemetski »

добавил, заработало! спасибо большое

Закрыто