URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3206
[ Назад ]

Исходное сообщение
"NAT in freeBSD"

Отправлено samson_la , 14-Мрт-07 15:15 
Доброе время суток всем.

Задача: сделать НАТ на freeBDS
решился сделать это через ipnat.

lnc0: 192.168.50.142 - смотрит подсеть с выходом в инет. netmask 255.255.255.0
lnc1: 192.168.0.142 - смотрит в подсеть для пользователей (локалка). netmask 255.255.255.0
надо подменять адреса клиетнов с подсети 192.168.0.0/24
на шлюзе инет работает.

насколько я разобрался, достаточно будет следующего:

# cat /etc/ipnat.rules
map lnc1 192.168.0.0/24 -> 0.0.0.0/32
# cat /etc/ipf.rules
pass in all
pass out all
# cat /etc/rc.local
#!/bin/sh
/sbin/ipfw flush
/sbin/ipfw add allow all from any to any
/sbin/ipf -Fa -f /etc/ipf.rules
/sbin/ipnat -CF -f /etc/ipnat.rules

но почемуто не работает :(

=====================================================

система: freeBSD 4-11

конфиг ядра отличается от GENERIC строчками:
options         IPDIVERT
options         IPFILTER
options         IPFILTER_LOG
options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT

в rc.conf включен ipfilter, ipnat, отключет firewall, отключен routed, отключен sendmail, итд...

# netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.50.253     UGSc        1        6   lnc0
127.0.0.1          127.0.0.1          UH          0        0    lo0
192.168.0          link#2             UC          1        0   lnc1
192.168.0.2        00:80:48:28:67:dc  UHLW        0        0   lnc1    939
192.168.50         link#1             UC          2        0   lnc0
192.168.50.251     00:0a:48:01:04:cc  UHLW        1      215   lnc0    419
192.168.50.253     00:e0:4c:77:21:f8  UHLW        2        0   lnc0   1164

# ifconfig
lnc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.50.142 netmask 0xffffff00 broadcast 192.168.50.255
        ether 00:0c:29:09:5e:04
lnc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.0.142 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:0c:29:09:5e:0e
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500

и на всякий случай:
# ps ax
  PID  TT  STAT      TIME COMMAND
    0  ??  DLs    0:00.00  (swapper)
    1  ??  ILs    0:00.04 /sbin/init --
    2  ??  DL     0:00.00  (taskqueue)
    3  ??  DL     0:00.00  (usb0)
    4  ??  DL     0:00.00  (usbtask)
    5  ??  DL     0:00.01  (pagedaemon)
    6  ??  DL     0:00.00  (vmdaemon)
    7  ??  DL     0:00.01  (bufdaemon)
    8  ??  DL     0:00.06  (syncer)
    9  ??  DL     0:00.02  (vnlru)
   20  ??  Is     0:00.00 adjkerntz -i
   80  ??  Ss     0:00.08 /usr/sbin/syslogd -s
   87  ??  Is     0:00.02 /usr/sbin/cron
   89  ??  Is     0:00.05 /usr/sbin/sshd
   91  ??  Ss     0:00.01 /usr/sbin/usbd
  120  ??  Is     0:00.09 moused -p /dev/psm0 -t auto
  159  ??  S      0:00.24 sshd: root@ttyp0 (sshd)
  161  p0  Ss     0:00.09 -csh (csh)
  182  p0  R+     0:00.00 ps ax
  135  v0  Is     0:00.09 login [pam] (login)
  143  v0  I+     0:00.09 -csh (csh)
  136  v1  Is+    0:00.01 /usr/libexec/getty Pc ttyv1
  137  v2  Is+    0:00.01 /usr/libexec/getty Pc ttyv2
  138  v3  Is+    0:00.01 /usr/libexec/getty Pc ttyv3
  139  v4  Is+    0:00.01 /usr/libexec/getty Pc ttyv4
  140  v5  Is+    0:00.01 /usr/libexec/getty Pc ttyv5
  141  v6  Is+    0:00.01 /usr/libexec/getty Pc ttyv6
  142  v7  Is+    0:00.01 /usr/libexec/getty Pc ttyv7

=====================================================
пробывал делать это и на freeBDS 5.4 - тоже без результата.
Думаю, что сам гдето ошибся, но где - не пойму :(
Подскажите плз, кто с фрей дружит.

заводил тему по адресу: http://www.linux.org.ru/jump-message.jsp?msgid=1827205
пользовался статьей: http://www.opennet.me/base/net/ipfilter_rus.txt.html

заранее спасибо.

ps: Сам работаю с линусксом, с freeBSD - редко, поэтому сильно не пинайте.


Содержание

Сообщения в этом обсуждении
"NAT in freeBSD"
Отправлено domas , 15-Мрт-07 08:18 
1. http://www.opennet.me/base/net/freebsd_gw.txt.html
2. rc.local? Делай все переменными в rc.conf(rc.conf.local).
3. Проверяй rc.conf? Есть ли там gateway_enable="YES"?
4. Посмотри ipnat -l и ipfstat (помоему так)  - загружены ли вообще правила.


"NAT in freeBSD"
Отправлено samson_la , 15-Мрт-07 20:55 
Всем спасибо.

Сделал через natd. Посоветовали тут: http://portal.san.ru/forums/index.php?showtopic=12287