- Back to Home »
- Networking »
- Dynamic DNS
Saturday, October 17, 2015
Một số khái niệm cơ bản về mạng cần biết trước khi đọc bài viết này:
- IP public, IP private
- DNS
- NAT
Trong thực tế mạng internet mà chúng ta dùng tại các hộ gia đình đều được các nhà cung cấp dịch vụ internet (ISP) cấp phát địa chỉ IP public động, nó sẽ được cấp phát lại mỗi khi modem nhà chúng ta bj reset lại, để có thể xem được địa chỉ IP public chúng ta vào một số trang web có khả năng xem IP ví dụ như https://www.whatismyip.com/ .
Dynamic DNS là một chương trình máy tính tự động cập nhật sự thay đổi IP public lên một Nameserver nào đó mà chúng ta setup trước. Một ví dụ đơn giản chúng ta có Nameserver với một domainname là mywebserver.no-ip.org được trỏ đến địa chỉ IP public 123.26.23.65, vì một lý do nào đó modem bị reset và ISP sẽ cấp lại cho chúng ta địa chỉ mới là 123.26.66.36, chương trình Dynamic DNS chạy trên của chúng ta sẽ phát hiện ra sự thay đổi này và sẽ tự động cập nhật lại địa chỉ IP mới lên nameserver, do đó mywebserver.no-ip.org bây giờ sẽ trỏ đến địa chỉ mới là 123.26.66.36.
Dynamic DNS thường được dùng khi chúng ta cài đặt một server nào đó trong một kết nối mà IP public thường bị thay đổi. Chương trình Dynamic DNS được cài trên các máy tính trong mạng local ví dụ nhử PC1 hoặc PC2 như trong hình ví dụ trên.
Trong bài viết này sẽ hướng dẫn build một chương trình dynamic dns để cập nhật IP lên nameserver của noip.com, một trang cung cấp dịch vụ dynamic dns miễn phí. Mục đích của việc này là cập nhật địa chỉ IP của một web server mà bạn đã build trước đó như hình trên.
Các bước thực hiện:
- Build web server với địa chỉ local 192.168.1.2
- Login vào router/modem nhà bạn và tiến hành NAT dịch vụ web đến địa chỉ IP 192.168.1.2 và port 80 (port mặc định của dịch vụ web)
Note: Nếu chỉ để test chương trình Dynamic DNS thì bạn không cần thực hiện 2 bước trên, chỉ cần build chương trình Dynamic DNS trên một máy bất kì ví dụ máy PC2 như trên hình.
- Vào trang web https://www.noip.com đăng ký một tài khoản free
- Đăng nhập và tạo ra domainname (có thể tạo tối đa 3 domain)
- Vào mục Download client để tải chương trình Dynamic DNS Update Client for Linux
- Giải nén gói noip-duc-linux vừa tải về
export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
export CROSS=arm-none-linux-gnueabi-
export HOST=arm-none-linux-gnueabi
make CC=${CROSS}gcc PREFIX=/path/to/install
- Tạo file cấu hình cho chương trình, các thông tin cần có bao gồm:
+ username: email đăng ký tài khoản noip.com <abc@gmail.com >
+ password: mật khẩu đăg nhập noip.com <123456>
+ domain name: tên miền bạn tạo ra ở bước trên <duyninh.ddns.net, testdns.ddns.net>
./noip2 -C -U 1 -u abc@gmail.com -p 123456
Auto configuration for Linux client of no-ip.com.
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 [duyninh.ddns.net] updated?[N] (y/N) N
Do you wish to have host [testdns.ddns.net] updated?[N] (y/N) y
New configuration file '/path/to/install/etc/no-ip2.conf' created.
Nếu có nhiều domain bạn có thể tùy chọn update cho tất cả hoặc một domain riêng nào đó.
- Chạy chương trình
./noip2
- Bạn vào lại trang quản lý domain của noip.com để xem lại kết quả, có thể thử reset lại modem vài lần để kiểm tra sự thay đổi IP public và sự cập nhật lên server của noip.com