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

Исходное сообщение
"Помогите настроить DNS и NATв OC FreeBSD 5.4"

Отправлено Zekere , 21-Янв-06 19:47 
У меня такая ситуация есть компьютер с установленной FreeBSD 5.4 она имеет два интерфейса rl0 и re0. Сетевая карта rl0 имеет IP 192.168.1.2 и подключена к модему ADSL у которого IP 192.168.1.1 через него я выхожу по PPPoE соединению в Internet тоесть создается тунель tun0 c IP 82.xxx.124.15, IP-адреса для tun0 провайдер раздает динамически, а к re0 с IP 192.168.0.1 подключон компьютер у которого IP 192.168.0.2.
Подскажите пожалуйста как можно настроить DNS и NAT для такой схемы?

Содержание

Сообщения в этом обсуждении
"Помогите настроить DNS и NATв OC FreeBSD 5.4"
Отправлено Skif , 21-Янв-06 21:37 
>У меня такая ситуация есть компьютер с установленной FreeBSD 5.4 она имеет
>два интерфейса rl0 и re0. Сетевая карта rl0 имеет IP 192.168.1.2
>и подключена к модему ADSL у которого IP 192.168.1.1 через него
>я выхожу по PPPoE соединению в Internet тоесть создается тунель tun0
>c IP 82.xxx.124.15, IP-адреса для tun0 провайдер раздает динамически, а к
>re0 с IP 192.168.0.1 подключон компьютер у которого IP 192.168.0.2.
>Подскажите пожалуйста как можно настроить DNS и NAT для такой схемы?


man natd
...........
     -dynamic    If the -n or -interface option is used, natd will monitor the
                 routing socket for alterations to the interface passed.  If
                 the interface's IP address is changed, natd will dynamically
                 alter its concept of the alias address.
............

Вот пример:

root@fbsd2 /usr/home/skif :ps auxwww | grep natd
root     639  0.0  0.6  1412   776  ??  Ss   11:54AM   0:03.78 /sbin/natd -s -m -dynamic -n rl0



"Помогите настроить DNS и NATв OC FreeBSD 5.4"
Отправлено Zekere , 22-Янв-06 01:39 
>man natd
>...........
>     -dynamic    If the -n
>or -interface option is used, natd will monitor the
>            
>     routing socket for alterations to the
>interface passed.  If
>            
>     the interface's IP address is changed,
>natd will dynamically
>            
>     alter its concept of the alias
>address.
>............
>
>Вот пример:
>
>root@fbsd2 /usr/home/skif :ps auxwww | grep natd
>root     639  0.0  0.6  1412
>  776  ??  Ss   11:54AM  
> 0:03.78 /sbin/natd -s -m -dynamic -n rl0

а поподробнее можно?


"Помогите настроить DNS и NATв OC FreeBSD 5.4"
Отправлено Skif , 22-Янв-06 01:59 
>>man natd
>>...........
>>     -dynamic    If the -n
>>or -interface option is used, natd will monitor the
>>            
>>     routing socket for alterations to the
>>interface passed.  If
>>            
>>     the interface's IP address is changed,
>>natd will dynamically
>>            
>>     alter its concept of the alias
>>address.
>>............
>>
>>Вот пример:
>>
>>root@fbsd2 /usr/home/skif :ps auxwww | grep natd
>>root     639  0.0  0.6  1412
>>  776  ??  Ss   11:54AM  
>> 0:03.78 /sbin/natd -s -m -dynamic -n rl0
>
>а поподробнее можно?


Если у вас не меняется устройство и постояннол висит tun0 то пускаете natd на нем.
но все зависит от  того как вы организовываете pppoe соединение:
    для ppp:
    man ppp

NETWORK ADDRESS TRANSLATION (PACKET ALIASING)
     The -nat command line option enables network address translation (a.k.a.
     packet aliasing).  This allows the ppp host to act as a masquerading
     gateway for other computers over a local area network.  Outgoing IP pack-
     ets are NAT'd so that they appear to come from the ppp host, and incoming
     packets are de-NAT'd so that they are routed to the correct machine on
     the local area network.  NAT allows computers on private, unregistered
     subnets to have Internet access, although they are invisible from the
     outside world.  In general, correct ppp operation should first be veri-
     fied with network address translation disabled.  Then, the -nat option
     should be switched on, and network applications (web browser, telnet(1),
     ftp(1), ping(8), traceroute(8)) should be checked on the ppp host.
     Finally, the same or similar applications should be checked on other com-
     puters in the LAN.  If network applications work correctly on the ppp
     host, but not on other machines in the LAN, then the masquerading soft-
     ware is working properly, but the host is either not forwarding or possi-
     bly receiving IP packets.  Check that IP forwarding is enabled in
     /etc/rc.conf and that other machines have designated the ppp host as the
     gateway for the LAN.

Смотрим rc.conf:
root@fbsd2 /usr/ports :less /etc/defaults/rc.conf | grep ppp
......................
# User ppp configuration.
ppp_enable="NO"         # Start user-ppp (or NO).
ppp_program="/usr/sbin/ppp"     # Path to user-ppp program.
ppp_mode="auto"         # Choice of "auto", "ddial", "direct" or "dedicated".
                        # For details see man page for ppp(8). Default is auto.
ppp_nat="YES"           # Use PPP's internal network address translation or NO.
ppp_profile="papchap"   # Which profile to use from /etc/ppp/ppp.conf.
ppp_user="root"         # Which user to run ppp as
............

соотвественно делаем что надо. ТОбишь в данном случае сам ppp берет на себя процесс ната.
Можно пойти другим путем.
ppp_nat="YES" не включать, а прибить нат на интерфейс tun0 своими руками:

root@fbsd2 /usr/ports :less /etc/defaults/rc.conf | grep natd
natd_program="/sbin/natd"       # path to natd, if you want a different one.
natd_enable="NO"                # Enable natd (if firewall_enable == YES).
natd_interface=""               # Public interface or IPaddress to use.
natd_flags=""                   # Additional flags for natd.

ТОбишь, включаете natd, указываете интерфейс и в natd_flags пишите -dynamic.



"Помогите настроить DNS и NATв OC FreeBSD 5.4"
Отправлено Zekere , 22-Янв-06 20:48 
Вот мой rc.conf:
defaultrouter="195.5.5.160"
hostname="vasily.my.org"

network_interfeces="re0 rl0 lo0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_re0="inet 192.168.0.1 netmask 255.255.255.0 mtu 8192"
ifconfig_rl0="inet 192.168.1.2 netmask 255.255.255.0"

gateway_enable="NO"

dhcpd_enable="YES"
#dhcpd_flags="-q"

firewall_enable="YES"
firewall_quiet="YES"
squid_enable="YES"
natd_enable="NO"
#natd_interface="tun0"
#natd_flags="-dynamic"

#named_enable="YES"

#trafd_enable="YES"
#trafd_ifaces="tun0 re0"
#trafd_log="/var/log/traffic.log"

blanktime="180"
saver="logo"
sshd_enable="YES"
usbd_enable="YES"
moused_type="auto"
moused_enable="YES"
mousechar_start=3

#Enable samba server
samba_enable="YES"
sendmail_enable="NO"

# Disable LPD
lpd_enable="NO"
lpd_flags="-4 -s"

# Enable CUPS
cupsd_enable="YES"
background_cupsd="YES"

keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"

#Antivirus Clamav
#clamav_clamd_enable="YES"
#clamav_freshclam_enable="YES"


А это named.conf:

options {
    directory    "/etc/namedb";
    pid-file    "/var/run/named/pid";
    dump-file    "/var/dump/named_dump.db";
    statistics-file    "/var/stats/named.stats";
    forwarders { 82.207.67.2; 213.179.244.18; 192.168.0.1; };
    query-source address * port 53;
    };
#zone "0.0.127.IN-ADDR.ARPA" {
#    type master;
#    file "master/localhost.rev";
#};
#zone "0.168.192.IN-ADDR.ARPA" {
#    type slave;
#    file "slave/192.168.0.rev";
#};

Файл localhost.rev настроил спомощью скрипта, вот мой  localhost.rev:
;    From: @(#)localhost.rev    5.1 (Berkeley) 6/30/90
; $FreeBSD: src/etc/namedb/PROTO.localhost.rev,v 1.6 2000/01/10 15:31:40 peter Exp $
;
; This file is automatically edited by the `make-localhost' script in
; the /etc/namedb directory.
;

$TTL    3600

@    IN    SOA    vasily.my.org. root.vasily.my.org.  (
                20060120    ; Serial
                3600    ; Refresh
                900    ; Retry
                3600000    ; Expire
                3600 )    ; Minimum
    IN    NS    vasily.my.org.
1    IN    PTR    localhost.my.org.
pc    IN    A    192.168.0.2
2    IN    PTR    pc.my.org.

А для зоны 192.168.0 настраивал сам но незнаю или правильно:
$TTL    3600

0.168.192.IN-ADDR.ARPA    IN    SOA    pc.my.org. root.vasily.my.org.  (
                20060120    ; Serial
                3600    ; Refresh
                900    ; Retry
                3600000    ; Expire
                3600 )    ; Minimum
    IN    NS    vasily.my.org.
1    IN    PTR    localhost.my.org.
2    IN    PTR    pc.my.org.


"Помогите настроить DNS и NATв OC FreeBSD 5.4"
Отправлено Skif , 23-Янв-06 03:50 
>Вот мой rc.conf:
>defaultrouter="195.5.5.160"
>hostname="vasily.my.org"
>
>network_interfeces="re0 rl0 lo0"
>ifconfig_lo0="inet 127.0.0.1"
>ifconfig_re0="inet 192.168.0.1 netmask 255.255.255.0 mtu 8192"

Вы уверенны что MTU на интерфейсе должно быть именно таким?

>ifconfig_rl0="inet 192.168.1.2 netmask 255.255.255.0"
>


>natd_enable="NO"
>#natd_interface="tun0"
>#natd_flags="-dynamic"

Я не понял, так вам natd нужен или как? "NO" его отключает
>
>#named_enable="YES"

named, тобишь dns вы закоментили, а зачем? откуда-то из другого места пускаете?

>А это named.conf:
>
>options {
> directory "/etc/namedb";
> pid-file "/var/run/named/pid";
> dump-file "/var/dump/named_dump.db";
> statistics-file "/var/stats/named.stats";
> forwarders { 82.207.67.2; 213.179.244.18; 192.168.0.1; };
> query-source address * port 53;
> };
>#zone "0.0.127.IN-ADDR.ARPA" {
># type master;
># file "master/localhost.rev";
>#};
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вот это раскомментируйте.

>#zone "0.168.192.IN-ADDR.ARPA" {
>#    type slave;
>#    file "slave/192.168.0.rev";
>#};

если вы поднять хотели для себя DNS то почему его сделали вторичным, а не первичным (master)

а где записи для корневых серверов? Где ключи сгенерированные для named, точнее rndc? man rndc , man rndc.conf, man rndc-confgen


включите логирование, повысьте уровень отлдадки для named:
man named
...........
SYNOPSIS
       named [ -4 ]  [ -6 ]  [ -c config-file ]  [ -d debug-level ]  [ -f ]  [
       -g ]  [ -n #cpus ]  [ -p port ]  [ -s ]  [ -t directory ]  [ -u user  ]
       [ -v ]  [ -x cache-file ]
...........
       -d debug-level
              Set the daemon's debug level to debug-level.   Debugging  traces
              from named become more verbose as the debug level increases.
...........

И все станет гораздо понятнее, чтио у вас там происходит. Хотя как по мне конфиг надо переделывать полностью.

Вот пример, простенький:
acl lan {       10.0.70/24;
                192.168/16;
                127.0.0.1;
} ;


options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
}

zone "." {
        type hint;
        file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
};

// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
        type master;
        file "master/localhost-v6.rev";
};

// RFC 1886 -- deprecated
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" {
        type master;
        file "master/localhost-v6.rev";
};

zone "zt-gw.f.com" {
        type master;
        file "zt/zt.zone";
};

zone "70.0.10.in-addr.arpa" {
        type master;
        file "zt/70.0.10.in-addr.arpa";
};


// Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
        algorithm hmac-md5;
        secret "vaHZu+ccHwHRvV8eshkXUQ==";
};

controls {
        inet 127.0.0.1 port 953
                allow { 127.0.0.1; } keys { "rndc-key"; };
};
// End of named.conf


Касательно NATD разберитесь в конце концов, включать его вам, или нет. Как вы создаете pppoe соединение тоже не понятно. объясните.