Cấu hình Dynamic DNS client


Nội dung

  1. Giới thiệu
  2. Cấu hình ddclient
  3. Tham khảo

Giới thiệu

Những người truy cập Internet bằng cách quay số điện thoại (dial-up) hay ADSL thường không được ISP cấp địa chỉ IP cố định (tại sao? xem phần tham khảo). Mỗi lần truy cập, hay mỗi lần truy cập lại do kết nối bị ngắt, người dùng thường được cấp một địa chỉ IP khác với địa chỉ IP của lần kết nối trước.

Trong những trường hợp này, thay đổi thông tin DNS theo cách bình thường (sửa zone file bằng tay!) tỏ ra bất tiện và chậm chạp. Thay vào đó, người ta cập nhật DNS bằng Dynamic DNS, cách này có những đặc điểm:

  1. cập nhật tự động mỗi khi có thay đổi
  2. thời hạn có nghĩa của DNS (xác định bằng "negative cache") bé, do đó những thay đổi về DNS sẽ được cập nhật nhanh chóng
Có nhiều nơi cung cấp dịch vụ dynamic DNS (free, hoặc phải mất một khoản tiền nào đó), và có nhiều chương trình dynamic dns client. Bạn có thể chọn từ danh sách sau đây (xem phần tham khảo ở cuối bài).

Bài viết này giới thiệu cách cấu hình ddclient, một Dynamic DNS client cho máy Linux. ddlient được viết bằng Perl, có thể chạy ở chế độ daemon, thích hợp với nhiều loại router, và có thể dùng với những account của các dịch vụ DynDNS.org, ZoneEdit.

Bắt đầu viết: tháng 5 năm 2003.
Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004.

Cài đặt và cấu hình ddclient

Phần 1: Đăng kí một account ở DynDNS.org, hoặc ở ZoneEdit, nhớ kiểm tra userID và password trước khi sang phần 2.

Phần 2: Cài đặt ddclient

Download, giải nén, và đọc file README. Nếu đọc kĩ README, bạn có thể tự làm được mà không cần xem tiếp những điều ghi dưới đây!

// download ddclient v3.6.3
$ wget http://s90389134.onlinehome.us/ddclient/ddclient.tar.gz
// update: ddclient được chuyển thành một project ở sf.net
// http://sourceforge.net/projects/ddclient
// giải nén
$ tar zxvf ddclient.tar.gz
// hoặc tar jxvf ddclient.tar.bz2
// đọc file ddclient-3.6.3/README!

Copy những file cần thiết vào chỗ thích hợp

// chương trình chính
# cp ddclient-3.6.3/ddclient /usr/sbin
// file cấu hình
# cp sample-etc_ddclient.conf /etc/ddclient.conf

// chuẩn bị script khởi động
# cp sample-etc_rc.d_init.d_ddclient /etc/init.d/ddclient

Cấu hình file /etc/ddclient.conf

daemon=300 # kiểm tra IP, 5 phút (300 sec) 1 lần
syslog=yes # ghi thay đổi IP vào syslog
mail=root # thông báo thay đổi cho root
mail-failure=root # thông báo lỗi cho root
pid=/var/run/ddclient.pid # thông tin PID
### cho người dùng dyndns.org
login=userID # userID đã đăng kí với dyndns.org
password=mật khẩu DynDNS.org
server=members.dyndns.org, \
protocol=dyndns2 \
name1.dyndns.org,name2.homelinux.net
### cho người dùng ZoneEdit
server=www.zoneedit.com, \
protocol=zoneedit1, \
login=userID, \ # userID đã đăng kí với ZoneEdit
password=mật khẩu ZoneEdit \
domain1.name,domain2.name
### 2 kiểu cấu hình phổ biến
### kiểu 1
### nếu interface ppp0 được cấp global dynamic IP address
### ví dụ: trường hợp ADSL modem hoạt động như một bridge
use=if, if=ppp0 # kiểm tra IP ở interface ppp0
### kiểu 2
### nếu máy Linux chỉ có private IP address
### ví dụ: trường hợp ADSL modem hoạt động như một router (và NAT)
use=web, web=members.orgdns.org/nic/ip
### update: members.orgdns.org có vẻ không còn hoạt động
### dùng url sau đây để kiểm tra IP
### use=web, web=checkip.dyndns.org, web-skip='Current IP Address:'

Mọi chuẩn bị như vậy là xong, chỉ còn việc khởi động ddclient

### sửa file /etc/init.d/ddclient, chỉ cho phép
### khởi động ở level 3, xong gõ lệnh
/sbin/chkconfig --add ddclient

### không biết cách sửa file /etc/init.d/ddclient thì làm
chkconfig --level 012456 ddclient off
chkconfig --level 3 ddclient on
### như vậy, mỗi lần bật máy, ddclient daemon sẽ được khởi động

### lần đầu tiên, cần khởi động ddclient bằng cách
/etc/init.d/ddclient start

Tham khảo

  1. Từ lúc IP thay đổi đến lúc DNS được cập nhật, mất bao nhiêu thời gian?
    • thời gian cập nhật tối đa, tính từ lúc IP thay đổi
      = chu kỳ kiểm tra IP của ddclient daemon + thời gian cache thông tin DNS (negative cache)
      = 300 + 60 (của DynDNS.org) = 360 sec (6 phút)
      Chú ý: ở đây bỏ qua thời gian xử lý ở client, DNS server (cỡ milisec), thời gian gian truyền dữ liệu trên Internet (cỡ vài trăm milisec).
  2. Tại sao không được cấp IP cố định (static global IP address)?
    • còn nữa
  3. Những nơi cung cấp dịch vụ Dynamic DNS và điều kiện sử dụng
  4. Một vài dynamic dns client


James Nguyen.


Index :: VnOSS.org :: Forum