У меня такая ситуация есть компьютер с установленной 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 для такой схемы?
>У меня такая ситуация есть компьютер с установленной 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
>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а поподробнее можно?
>>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 pppNETWORK 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.
Вот мой 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 36000.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.
>Вот мой 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 соединение тоже не понятно. объясните.