Проблема в том что по всей видимости PF не хочет дружить с BInd и регистратор доменов не видит мой DNS сервер!Вообщем в системе стоит PF с таким конфигом (к нету я подрублен через rl0 по незашифр VPN)
--------------------------------------------------------------------------
int_if="vr0"
ext_if="ng0"
localnet="10.10.20.0/24"
set skip on lo0
set skip on $int_if
scrub in all
nat on $ext_if from $localnet to any -> ($ext_if)
antispoof quick for $ext_if
pass out on $ext_if proto tcp to any keep state
pass out on $ext_if proto udp to any keep state
pass in on $ext_if proto tcp from any to 195.114.7.67 port $dns_ports keep state
pass in on $ext_if proto udp from any to 195.114.7.67 port $dns_ports keep state
pass inet proto icmp all
--------------------------------------------------------------------------И Bind 9.6 с таким конфигом
--------------------------------------------------------------------------
acl "IN_NET" {
127.0.0.1;
10.10.20.0/24;
};
options {
hostname "ns.sata.pp.ua";
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on {
127.0.0.1;
10.10.20.1;
};
interface-interval 10;
recursion yes;
allow-recursion { "IN_NET"; };
forward first;
forwarders {
195.114.6.6;
8.8.8.8;
};
allow-query { any; };
version "SuperPuper DNS";
};
logging {
channel syslog {
syslog daemon;
severity info;
print-category yes;
print-severity yes;
};
category xfer-in { syslog; };
category xfer-out { syslog; };
category config { syslog; };
category default { null; };
};
zone "." {
type hint;
file "named.root";
};
zone "localhost" {
type master;
allow-query { 127.0.0.1; };
file "master/localhost";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
allow-query { 127.0.0.1; };
file "reverse/localhost.rev";
};zone "sata.pp.ua" {
type master;
file "master/sata.pp.ua";
allow-query { any; };
};--------------------------------------------------------------------------
zone "sata.pp.ua"
--------------------------------------------------------------------------
$TTL 3600
sata.pp.ua. IN SOA ns.sata.pp.ua. admin.sata.pp.ua. (
2010111601 ; Serial
28800 ; Refresh
7200 ; Retry
2419200 ; Expire
86400) ; Negative Cache TTL
;
IN NS ns.sata.pp.ua.
IN MX 10 mail.sata.pp.ua.
IN A 195.114.7.67localhost IN A 127.0.0.1
ns IN A 195.114.7.67
mail IN A 195.114.7.67
www IN CNAME sata.pp.ua.
--------------------------------------------------------------------------Может быть не правильно настроен Bind, хотя на другой машине работает. Только там IPFW, но хочется использовать PF!!
Но скорее всего что то не правильно в PF прописал =((
Подскажите пожалуйста!!
В правилах
pass in on $ext_if proto tcp from any to 195.114.7.67 port $dns_ports keep state
pass in on $ext_if proto udp from any to 195.114.7.67 port $dns_ports keep stateукажите явно 53 порт в параметре port
И у вас bind сам работает. Слушает он 53 порт tcp/udp?
> В правилах
> pass in on $ext_if proto tcp from any to 195.114.7.67 port
> $dns_ports keep state
> pass in on $ext_if proto udp from any to 195.114.7.67 port $dns_ports
> keep state
> укажите явно 53 порт в параметре port
> И у вас bind сам работает. Слушает он 53 порт tcp/udp?Да вроде как коннект есть:
[vitek@pcbsd] ~> telnet 195.114.7.67 53
Trying 195.114.7.67...
Connected to mail.sata.pp.ua.
Escape character is '^]'.
^]
telnet>
> Да вроде как коннект есть:
> [vitek@pcbsd] ~> telnet 195.114.7.67 53
> Trying 195.114.7.67...
> Connected to mail.sata.pp.ua.
> Escape character is '^]'.
> ^]
> telnet>И ДНС отвечает:
[vitek@pcbsd] ~> nslookup www.sata.pp.ua 195.114.7.67
Server: 195.114.7.67
Address: 195.114.7.67#53www.sata.pp.ua canonical name = sata.pp.ua.
Name: sata.pp.ua
Address: 195.114.7.67
>[оверквотинг удален]
>> keep state
>> укажите явно 53 порт в параметре port
>> И у вас bind сам работает. Слушает он 53 порт tcp/udp?
> Да вроде как коннект есть:
> [vitek@pcbsd] ~> telnet 195.114.7.67 53
> Trying 195.114.7.67...
> Connected to mail.sata.pp.ua.
> Escape character is '^]'.
> ^]
> telnet>ошибся ))
Как сказал товарищ pilferst, в pf.conf у вас не существует определения для $dns_ports. Если вы не используете modulate state, то вместо двух строкpass in on $ext_if proto tcp from any to 195.114.7.67 port $dns_ports keep state
pass in on $ext_if proto udp from any to 195.114.7.67 port $dns_ports keep stateпишите уж
pass in on $ext_if proto {tcp, udp} from any to ($ext_if) port domain keep state
а лучше(хотя это зависит от версии pf)
pass in on $ext_if proto tcp from any to ($ext_if) port domain flags S/SA keep state
pass in on $ext_if proto udp from any to ($ext_if) port domain modelate stateДалее, судя по named.conf, а именно
listen-on {
127.0.0.1;
10.10.20.1;
};bind слушает/отвечает только локалхост(127.0.0.1) и вашу внутреннюю сеть(10.10.20.1). Так что отвечать на запросы с инета просто некому.
>[оверквотинг удален]
> Далее, судя по named.conf, а именно
> listen-on {
>
> 127.0.0.1;
>
> 10.10.20.1;
>
> };
> bind слушает/отвечает только локалхост(127.0.0.1) и вашу внутреннюю сеть(10.10.20.1).
> Так что отвечать на запросы с инета просто некому.Да Вы абсолютно правы.
Добавил в прослушивающие IP внешний и все заработало.
И без правил в PF
Спасибо!