Cài đặt PowerDNS và Poweradmin trong Ubuntu 9.10 Phần 1

Unknown | 11:38 |

Thứ Hai, 31 tháng 5, 2010

Thư viện Thủ thuật » - Trong bài hướng dẫn sau, Quản Trị Mạng sẽ giới thiệu với các bạn các bước cài đặt PowerDNS (cùng với MySQL backend) và cơ chế điều khiển Poweradmin dành cho PowerDNS trên hệ thống Ubuntu 9.10



PowerDNS là hệ thống nameserver mạnh mẽ, ổn định, tốc độ hoạt động cao, và hỗ trợ cơ chế xác nhận chủ quyền trên máy chủ, có khả năng đọc các bản ghi DNS từ cơ sở dữ liệu MySQL (tương tự như MyDNS), mặc dù các hệ cơ sở dữ liệu backend khác như PostgreSQL cũng được hỗ trợ đầy đủ. Bên cạnh đó, Poweradmin là 1 dạng bảng điều khiển – control panel hoạt động trên nền tảng web của PowerDNS.
1. Lưu ý sơ bộ
Trong ví dụ này sử dụng host Ubuntu 9.10 với hostname là server1.example.com và địa chỉ IP là 192.168.0.100. Tiến hành cài đặt 1 server PowerDNS - master, sau đó thêm PowerDNS - slave khá đơn giản và dễ dàng bằng cách sử dụng cơ sở dữ liệu MySQL nhân rộng mô hình từ master thành slave, và do đó, việc luân chuyển vùng dữ liệu là không cần thiết (cũng giống với MyDNS).
Việc nhân rộng mô hình cơ sở dữ liệu MySQL các bạn có thể tham khảo thêm tại đây, PowerDNS cũng hỗ trợ việc lưu chuyển vùng dữ liệu (trong trường hợp bạn không thể áp dụng tính năng nhân rộng MySQL), xem chi tiết tại đây.
Tất cả các lệnh đều phải thực hiện bằng tài khoản và phân quyền root, hoặc thêm tiền tố sudo vào trước các câu lệnh. Để trở thành root, gõ câu lệnh sau:
sudo su
2. Cài đặt MySQL
Cú pháp câu lệnh:
aptitude install mysql-server mysql-client
Bạn sẽ nhận được yêu cầu cung cấp mật khẩu cho tài khoản MySQL root, mật khẩu này phải chính xác đối với root@localhost cũng như root@server1.example.com, do đó, chúng ta không phải phân tách mật khẩu MySQL root riêng biệt cho các quá trình tiếp theo.
New password for the MySQL "root" user: < mật khẩu tài khoản root
Repeat password for the MySQL "root" user: < mật khẩu tài khoản root
Yêu cầu tiếp theo là MySQL phải “nghe” được tất cả các tín hiệu trên hệ thống (điều này đặc biệt quan trọng nếu muốn nhân rộng MySQL), không chỉ ở localhost, do vậy chúng ta phải chỉnh sửa /etc/mysql/my.cnf và chú thích tại dòng bind-address = 127.0.0.1:
vi /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address
[...]
Sau đó khởi động lại MySQL:
/etc/init.d/mysql restart
Kiểm tra rằng hệ thống mạng đã được kích hoạt, gõ lệnh sau:
netstat -tap | grep mysql
Và kết quả sẽ có dạng tương tự như sau:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 6724/mysqld
root@server1:~#
3. Cài đặt PowerDNS
Trước tiên, sử dụng câu lệnh sau:
aptitude install pdns-server pdns-backend-mysql
File cấu hình PowerDNS sẽ lưu trữ trong thư mục /etc/powerdns
Tiếp theo, kết nối đến MySQL:
mysql -u root -p
Gõ mật khẩu MySQL root, khi đã đăng nhập vào bên trong MySQL, tạo cơ sở dữ liệu cho PowerDNS:
CREATE DATABASE powerdns;
Tiếp theo, tạo cơ sở dữ liệu người sử dụng (powerdns) dành cho PowerDNS:
GRANT ALL ON powerdns.* TO 'power_admin'@'localhost' IDENTIFIED BY 'power_admin_password';
GRANT ALL ON powerdns.* TO 'power_admin'@'localhost.localdomain' IDENTIFIED BY 'power_admin_password';
FLUSH PRIVILEGES;
Nhớ thay thế power_admin_password với mật khẩu của bạn.
Bây giờ, chúng ta sẽ tạo các bảng cần thiết bởi PowerDNS:
USE powerdns;

CREATE TABLE domains (
id INT auto_increment,
name VARCHAR(255) NOT NULL,
master VARCHAR(128) DEFAULT NULL,
last_check INT DEFAULT NULL,
type VARCHAR(6) NOT NULL,
notified_serial INT DEFAULT NULL,
account VARCHAR(40) DEFAULT NULL,
primary key (id)
);

CREATE UNIQUE INDEX name_index ON domains(name);

CREATE TABLE records (
id INT auto_increment,
domain_id INT DEFAULT NULL,
name VARCHAR(255) DEFAULT NULL,
type VARCHAR(6) DEFAULT NULL,
content VARCHAR(255) DEFAULT NULL,
ttl INT DEFAULT NULL,
prio INT DEFAULT NULL,
change_date INT DEFAULT NULL,
primary key(id)
);

CREATE INDEX rec_name_index ON records(name);
CREATE INDEX nametype_index ON records(name,type);
CREATE INDEX domain_id ON records(domain_id);

CREATE TABLE supermasters (
ip VARCHAR(25) NOT NULL,
nameserver VARCHAR(255) NOT NULL,
account VARCHAR(40) DEFAULT NULL
);
Và sau đó thoát khỏi MySQL shell:
quit;
Bây giờ, chúng ta phải thiết lập PowerDNS để có thể sử dụng được MySQL backend:
vi /etc/powerdns/pdns.conf
Thêm dòng lệnh: launch=gmysql to pdns.conf:
[...]
#################################
# launch Which backends to launch and order to query them in
#
# launch=
launch=gmysql
[...]
Sau đó, mở file /etc/powerdns/pdns.d/pdns.local và làm cho nó giống như sau:
vi /etc/powerdns/pdns.d/pdns.local

# Here comes the local changes the user made, like configuration of
# the several backends that exists.

gmysql-host=127.0.0.1
gmysql-user=power_admin
gmysql-password=power_admin_password
gmysql-dbname=powerdns
Khởi động lại pdns:
/etc/init.d/pdns restart
Vậy là mọi công đoạn cũng đã hòm hòm, PowerDNS đã sẵn sàng sử dụng. Nếu muốn tìm hiểu thêm về PowerDNS, các bạn có thể tham khảo thêm tài liệu tại đây.

Tags:

Ý kiến bạn đọc [ 0 ]


Ý kiến của bạn

More →
Chữ đậm Chữ nghiêng Chữ nghiêng 2 Chèn Link Chèn Link Mã hóa code Help ?Nhấn vào biểu tượng hoặc kiểu chữ hoặc chèn link sau đó nhấn nút Chọn rồi copy (Ctrl + C) để paste (Ctrl + V) vào khung viết bình luận. Mã hóa code nếu bạn muốn đưa code vào bình luận.

Chọn Xóa