Будем считать что вы поставили систему с минимальным набором.
Итак, поехали:
Код: Выделить всё
#uname -a
FreeBSD second.myftp.org 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
#
Код: Выделить всё
cat /etc/ppp/ppp.conf
default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)
load provider
provider:
set log Phase Chat LCP IPCP CCP tun command
set device PPPoE:re0:mgts
disable IPV6CP
disable vjcomp
disable pred1
disable protocomp
disable acfcomp
enable lqr
set cd 15
set redial 0 0
set authname Ваш логин
set authkey Ваш пароль
set mru 1492
set mtu 1492
set speed sync
set dial
set login
#enable dns - эта строка закоментированна в силу ограмной глючности dns серверов мгтс, поэтому используем альтернативные.
accept MPPE
enable MPPE
add! default hisaddr
nat enable yes
Код: Выделить всё
#cat /etc/ppp/ppp.linkup
provider:
iface clear
#
Код: Выделить всё
#ll /etc/ppp/
-rw------- 1 root wheel 932 Feb 7 11:00 ppp.conf
-r--r--r-- 1 root wheel 0 Feb 7 10:58 ppp.linkdown
-r--r--r-- 1 root wheel 26 Feb 7 10:58 ppp.linkup
#
Теперь нам надо добиться чтобы подключение стартовало при загрузке нашего сервера, вот эти строчки мы вносим в /etc/rc.conf
Код: Выделить всё
ppp_enable="YES"
ppp_program="/usr/sbin/ppp"
ppp_mode="ddial"
ppp_profile="provider"
ppp_user="root"
Код: Выделить всё
/etc/rc.d/ppp start
Код: Выделить всё
#ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
inet 94.29.98.98 --> 94.29.98.1 netmask 0xffffffff
Opened by PID 387
#
Код: Выделить всё
#cat /etc/resolv.conf
options attempts=2, timeout=2, rotate
domain myftp.org
nameserver 199.45.32.40
nameserver 208.67.222.222
nameserver 62.112.106.130
nameserver 195.34.31.50
nameserver 195.234.42.1
nameserver 87.98.164.164
nameserver 88.191.64.64
Код: Выделить всё
#ping mail.ru
PING mail.ru (194.67.57.26): 56 data bytes
64 bytes from 194.67.57.26: icmp_seq=0 ttl=118 time=26.674 ms
64 bytes from 194.67.57.26: icmp_seq=1 ttl=118 time=18.872 ms
64 bytes from 194.67.57.26: icmp_seq=2 ttl=118 time=18.475 ms
^C
--- mail.ru ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 18.475/21.340/26.674/3.775 ms
#
Первый этап закончен.
Обновляем:
Код: Выделить всё
# freebsd-update fetch
# freebsd-update install
Код: Выделить всё
reboot
Код: Выделить всё
#cat /etc/hostapd.conf
interface=ath0
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=2
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=FreeLive
hw_mode=a
channel=80
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
eapol_key_index_workaround=0
own_ip_addr=127.0.0.1
wpa=1
wpa_passphrase=qwertyuiop
wpa_pairwise=TKIP CCMP
#
Код: Выделить всё
#cat /etc/rc.conf |grep ath
ifconfig_ath0="inet 192.168.11.1 netmask 255.255.255.240 ssid FreeLive channel 11 mediaopt hostap"
#
Код: Выделить всё
#cat /boot/loader.conf
kern.maxfiles="25000"
autoboot_delay="2"
wlan_wep_load="YES"
wlan_tkip_load="YES"
wlan_ccmp_load="YES"
wlan_xauth_load="YES"
wlan_acl_load="YES"
#
Код: Выделить всё
reboot
Код: Выделить всё
#ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
ether 00:1e:58:a2:03:cf
inet 192.168.11.1 netmask 0xfffffff0 broadcast 192.168.11.15
media: IEEE 802.11 Wireless Ethernet autoselect <hostap> (autoselect <hostap>)
status: associated
ssid FreeLive channel 11 (2462 Mhz 11g) bssid 00:1e:58:a2:03:cf
authmode WPA privacy MIXED deftxkey 3 TKIP 2:128-bit TKIP 3:128-bit
txpower 31.5 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250
roam:rssi11g 7 roam:rate11g 5 protmode CTS burst dtimperiod 1
#
Это конечно все хорошо, но хочется большего, хочется иметь постоянный доступ к нашему серверу, а так как у нас ip динамический, то есть не большие проблемы.
Делаем так:
открываем http://www.no-ip.com, регистрируемся на этом сайте, заходим под нашим логином и паролем,
идем на закладку Hosts/Redirects, открываем, делаем Add a Host, придумываем уникальное имя своему хосту и соостветвенно вбиваем его в поле Hostaname, выбираем бесплатный домен для нашего хоста, мне больше нравиться myftp.org, опускаемся ниже и нажимаем Create Host.
Ура. хост создан, теперь у нас есть постоянное доменное имя третьего уровня.
Возращаемся обратно к нашему серверу:
Код: Выделить всё
#cd /usr/ports/dns/noip
#make install clean
Код: Выделить всё
#make conf
Здесь нас просят выбрать интерфейс подключенный к провайдеру, у меня это tun0, соотвественно нажимаем 0By typing the number associated with it.
0 ath0
1 re0
2 plip0
3 tun0
Код: Выделить всё
Please enter the login/email string for no-ip.com ЗДЕСЬ НАШ ЛОГИН
Код: Выделить всё
Please enter the password for user 'НАШ ЛОГИН (ЗАПОЛНЯЕТСЯ АВТОМАТОМ)' Здесь наш пароль
Код: Выделить всё
2 hosts are registered to this account.
Код: Выделить всё
Do you wish to have them all updated?[N] (y/N) n
Код: Выделить всё
Do you wish to have host [first.myftp.org] updated?[N] (y/N) n
Код: Выделить всё
Do you wish to have host [second.myftp.org] updated?[N] (y/N) y
Код: Выделить всё
Please enter an update interval:[30]
Код: Выделить всё
Do you wish to run something at successful update?[N] (y/N) y
Please enter the script/program name
Код: Выделить всё
New configuration file '/usr/local/etc/no-ip2.conf' created.
/usr/sbin/chown noip:noip /usr/local/etc/no-ip2.conf
/bin/chmod 0600 /usr/local/etc/no-ip2.conf
Код: Выделить всё
echo 'noip_enable="YES"' >> /etc/rc.conf
Код: Выделить всё
#/usr/local/etc/rc.d/noip start
Код: Выделить всё
#ps -aux|grep noip
noip 2835 0.0 0.2 3132 928 ?? Ss 8:56PM 0:00.00 /usr/local/bin/noip2 -c /usr/local/etc/no-ip2.conf
root 2860 0.0 0.2 1660 844 p0 R+ 9:01PM 0:00.00 grep noip
#
Далее нам надо настроить в нашей сети DHCP и BIND для обслуживания локальных клиентов:
Код: Выделить всё
#cd /usr/ports/net/isc-dhcp30-server/
Код: Выделить всё
[X] DHCP_PARANOIA add -user, -group and -chroot options
[X] DHCP_JAIL add -chroot and -jail options
[X] OPENSSL_BASE use the base system OpenSSL (required by TLS)
начинается сборка, идем пить чай.
Ну вот и отлично, все собрано:
Идем в
Код: Выделить всё
#cd /usr/local/etc/
#cat dhcpd.conf
option domain-name "second.myftp.org";
option domain-name-servers 192.168.11.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
ddns-update-style ad-hoc;
ddns-updates on;
allow client-updates;
log-facility local7;
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret pRP5FapFoJ95JEL06sv4PQ==;
};
zone second.myftp.org.{
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 11.168.192.in-addr.arpa.{
primary 127.0.0.1;
key DHCP_UPDATER;
}
subnet 192.168.11.0 netmask 255.255.255.240 {
range 192.168.11.5 192.168.11.14;
option routers 192.168.11.1;
}
#
Код: Выделить всё
#cat /etc/rc.conf | grep dhcpd
dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="ath0"
dhcpd_withuser="dhcpd"
dhcpd_withgroup="dhcpd"
#
С этим моментом не много разобрались, теперь нам надо настроить named
Код: Выделить всё
/usr/sbin/rndc-confgen > /etc/namedb/rndc.conf
Код: Выделить всё
#cat /var/named/etc/namedb/rndc.conf
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "NdDPt6GhJO+CZwaDUykL6w==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "NdDPt6GhJO+CZwaDUykL6w==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
]#
cd /var/named/etc/namedb
mv named.conf named.conf.default
touch named.conf со следующим содержимым
Код: Выделить всё
key "rndc-key" {
algorithm hmac-md5;
secret "NdDPt6GhJO+CZwaDUykL6w==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
#
Код: Выделить всё
#cat 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";
listen-on { 127.0.0.1; 192.168.1.1; };
disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
disable-empty-zone "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.0.IP6.ARPA";
disable-empty-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";
// forward only;
forwarders {
127.0.0.1;
};
};
zone "." { type hint; file "named.root"; };
// RFC 1912
zone "localhost" { type master; file "master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "master/empty.db"; };
// RFC 1912-style zone for IPv6 localhost address
zone "0.ip6.arpa" { type master; file "master/localhost-reverse.db"; };
// "This" Network (RFCs 1912 and 3330)
zone "0.in-addr.arpa" { type master; file "master/empty.db"; };
// Private Use Networks (RFC 1918)
zone "10.in-addr.arpa" { type master; file "master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "29.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "30.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "31.172.in-addr.arpa" { type master; file "master/empty.db"; };
zone "168.192.in-addr.arpa" { type master; file "master/empty.db"; };
// Link-local/APIPA (RFCs 3330 and 3927)
zone "254.169.in-addr.arpa" { type master; file "master/empty.db"; };
// TEST-NET for Documentation (RFC 3330)
zone "2.0.192.in-addr.arpa" { type master; file "master/empty.db"; };
// Router Benchmark Testing (RFC 3330)
zone "18.198.in-addr.arpa" { type master; file "master/empty.db"; };
zone "19.198.in-addr.arpa" { type master; file "master/empty.db"; };
// IANA Reserved - Old Class E Space
zone "240.in-addr.arpa" { type master; file "master/empty.db"; };
zone "241.in-addr.arpa" { type master; file "master/empty.db"; };
zone "242.in-addr.arpa" { type master; file "master/empty.db"; };
zone "243.in-addr.arpa" { type master; file "master/empty.db"; };
zone "244.in-addr.arpa" { type master; file "master/empty.db"; };
zone "245.in-addr.arpa" { type master; file "master/empty.db"; };
zone "246.in-addr.arpa" { type master; file "master/empty.db"; };
zone "247.in-addr.arpa" { type master; file "master/empty.db"; };
zone "248.in-addr.arpa" { type master; file "master/empty.db"; };
zone "249.in-addr.arpa" { type master; file "master/empty.db"; };
zone "250.in-addr.arpa" { type master; file "master/empty.db"; };
zone "251.in-addr.arpa" { type master; file "master/empty.db"; };
zone "252.in-addr.arpa" { type master; file "master/empty.db"; };
zone "253.in-addr.arpa" { type master; file "master/empty.db"; };
zone "254.in-addr.arpa" { type master; file "master/empty.db"; };
// IPv6 Unassigned Addresses (RFC 4291)
zone "1.ip6.arpa" { type master; file "master/empty.db"; };
zone "3.ip6.arpa" { type master; file "master/empty.db"; };
zone "4.ip6.arpa" { type master; file "master/empty.db"; };
zone "5.ip6.arpa" { type master; file "master/empty.db"; };
zone "6.ip6.arpa" { type master; file "master/empty.db"; };
zone "7.ip6.arpa" { type master; file "master/empty.db"; };
zone "8.ip6.arpa" { type master; file "master/empty.db"; };
zone "9.ip6.arpa" { type master; file "master/empty.db"; };
zone "a.ip6.arpa" { type master; file "master/empty.db"; };
zone "b.ip6.arpa" { type master; file "master/empty.db"; };
zone "c.ip6.arpa" { type master; file "master/empty.db"; };
zone "d.ip6.arpa" { type master; file "master/empty.db"; };
zone "e.ip6.arpa" { type master; file "master/empty.db"; };
zone "0.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "1.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "2.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "3.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "4.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "5.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "6.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "7.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "8.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "9.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "a.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "b.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "0.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "1.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "2.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "3.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "4.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "5.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "6.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "7.e.f.ip6.arpa" { type master; file "master/empty.db"; };
// IPv6 ULA (RFC 4193)
zone "c.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "d.f.ip6.arpa" { type master; file "master/empty.db"; };
// IPv6 Link Local (RFC 4291)
zone "8.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "9.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "a.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "b.e.f.ip6.arpa" { type master; file "master/empty.db"; };
// IPv6 Deprecated Site-Local Addresses (RFC 3879)
zone "c.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "d.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "e.e.f.ip6.arpa" { type master; file "master/empty.db"; };
zone "f.e.f.ip6.arpa" { type master; file "master/empty.db"; };
// IP6.INT is Deprecated (RFC 4159)
zone "ip6.int" { type master; file "master/empty.db"; };
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret pRP5FapFoJ95JEL06sv4PQ==;
};
# Эти строки полность соответствуют тому что добавили в dhcpd.conf
logging {
channel update_debug {
file "/var/log/named-update.log";
severity debug 3;
print-category yes;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/named-auth.log";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category update { update_debug; };
category security { security_info; };
};
# Эти строки вставляются для протоколирования работы сервера. Взято из man dhcpd.conf
# Предварительно необходимо создать файлы, которые указаны в оции file ":"
zone "11.168.192.in-addr.arpa" IN {
type master;
file "master/192.168.11.in-addr.arpa";
allow-update { key DHCP_UPDATER; };
};
zone "second.myftp.org" {
type master;
file "master/second.myftp.org";
allow-update { key DHCP_UPDATER; };
notify no;
};
# Use with the following in named.conf, adjusting the allow list as needed:
key "rndc-key" {
algorithm hmac-md5;
secret "NdDPt6GhJO+CZwaDUykL6w==";
};
#
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
# End of named.conf
#
Код: Выделить всё
vi /etc/mtree/BIND.chroot.dist
далем так:
Код: Выделить всё
master uname=bind
Код: Выделить всё
:wq!
Код: Выделить всё
touch /var/named/etc/namedb/master/192.168.11.in-addr.arpa
Код: Выделить всё
$TTL 86400 ; 1 day
11.168.192.in-addr.arpa IN SOA ns.second.myftp.org. root.second.myftp.org. (
2009020703 ; serial
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (14 weeks 2 days)
86400 ; minimum (1 day)
)
NS second.myftp.org.
1 PTR second.myftp.org.
содержимое
Код: Выделить всё
$TTL 86400 ; 1 day
second.myftp.org IN SOA ns.second.myftp.org. root.second.myftp.org. (
2009020703 ; serial
86400 ; refresh (1 day)
7200 ; retry (2 hours)
8640000 ; expire (14 weeks 2 days)
86400 ; minimum (1 day)
)
NS ns.second.myftp.org.
localhost A 127.0.0.1
ns A 192.168.11.1
Код: Выделить всё
cd /var/named/etc/namedb
chown -R bind:wheel master
Код: Выделить всё
#cat /etc/rc.conf |grep named
named_enable="YES"
named_program="/usr/sbin/named"
named_pidfile="/var/run/named/pid"
named_uid="bind"
named_chrootdir="/var/named"
named_chroot_autoupdate="YES"
named_symlink_enable="YES"
#
Код: Выделить всё
#/etc/rc.d/named start
#/usr/local/etc/rc.d/isc-dhcpd start
/var/named/etc/namedb/master
должны появться файлы с названием наших зон с окончанием jnl
если что-то не так, смотрим
Код: Выделить всё
cat /var/log/messages
Все что здесь есть, написано из личного опыта полученного при чтении разной документации и статей, в том числе находящихся на сайте lissyara.su
Разъяснение:
Для динамического обновления зоны second.local используется dhcpd
Там используется совместный ключ:
Код: Выделить всё
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret pRP5FapFoJ95JEL06sv4PQ==;
Код: Выделить всё
dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
Kdhcp_updater.+157+21955
Код: Выделить всё
#cat Kdhcp_updater.+157+21955.key
DHCP_UPDATER. IN KEY 0 3 157 ErI+ZkzY3bAtXlGixGqTGQ==
#
Код: Выделить всё
ErI+ZkzY3bAtXlGixGqTGQ==
Принимаются любые пожелания и комментарии.