Trong bài viết này, chúng tôi sẽ giới thiệu cho các bạn cách sử dụng dnsmasq để cấu hình máy chủ DNS cục bộ, máy chủ DNS bộ nhớ đệm và máy chủ DHCP. Vậy hãy bắt đầu.
Cấu trúc mạng:
Đây là cấu trúc liên kết mạng của bài viết này. Ở đây, tôi sẽ cấu hình bộ định tuyến làm máy chủ DNS và DHCP với dnsmasq. bộ định tuyến có 2 giao diện mạng, một ( ens33 ) kết nối với Internet và điều khác ( sau38 ) kết nối với một mạng swtich . Tất cả các máy chủ khác ( host1 , host2 , host3 ) trên mạng sử dụng máy chủ DHCP được định cấu hình trên bộ định tuyến để tự động gán địa chỉ IP và máy chủ DNS để phân giải tên.
Định cấu hình IP tĩnh:
Trong cấu trúc liên kết mạng của tôi, bạn đã thấy, bộ định tuyến có hai giao diện ens33 và sau38 . ens33 kết nối bộ định tuyến với internet và sau38 được kết nối với một chuyển mạng , mà các máy tính khác trên mạng kết nối với. Tôi sẽ phải sử dụng DHCP để lấy địa chỉ IP cho ens33 giao diện từ ISP của tôi để kết nối internet. Nhưng sau38 giao diện phải được cấu hình thủ công.
Hãy sử dụng mạng 192.168.10.0/24 cho giao diện ens38 và các máy tính khác trong mạng. Nếu tôi sử dụng mạng 192.168.10.0/24, thì địa chỉ IP của sau38 giao diện của bộ định tuyến phải là 192.168.10.1/24. Đây là địa chỉ IP của máy chủ dnsmasq DNS và máy chủ DHCP.
GHI CHÚ: Tên giao diện mạng của bạn có thể khác. Bạn có thể tìm hiểu nó là gì cho bạn với ip a chỉ huy.
Trên Ubuntu Server 18.04 LTS, bạn có thể sử dụng netplan để cấu hình các giao diện mạng. Tệp cấu hình netplan mặc định là /etc/netplan/50-cloud-init.yaml .
Đầu tiên, hãy mở tệp cấu hình /etc/netplan/50-cloud-init.yaml bằng lệnh sau:
$sudo nano /Vân vân/netplan/năm mươi-cloud-init.yaml
Bây giờ, hãy nhập các dòng sau và lưu tệp bằng cách nhấn + NS theo dõi bởi và và .
Bây giờ, khởi động lại bộ định tuyến bằng lệnh sau:
$sudokhởi động lại
Một khi bộ định tuyến khởi động, địa chỉ IP nên được chỉ định như mong đợi.
Cài đặt dnsmasq:
dnsmasq có sẵn trong kho gói chính thức của Ubuntu. Vì vậy, bạn có thể dễ dàng cài đặt nó bằng trình quản lý gói APT.
Ubuntu sử dụng hệ thống giải quyết theo mặc định để quản lý máy chủ DNS và bộ nhớ đệm DNS. Trước khi cài đặt dnsmasq, bạn phải dừng và tắt hệ thống giải quyết dịch vụ. Nếu không, bạn sẽ không thể chạy dnsmasq.
Để ngăn chặn hệ thống giải quyết dịch vụ, chạy lệnh sau:
$sudosystemctl dừng systemd-giải quyết
Để vô hiệu hóa hệ thống giải quyết dịch vụ, chạy lệnh sau:
$sudosystemctl vô hiệu hóa systemd-giải quyết
Theo mặc định, /etc/resolv.conf tệp được liên kết với tệp cấu hình systemd khác như bạn có thể thấy trong ảnh chụp màn hình bên dưới. Nhưng, chúng tôi không muốn nó nữa.
Vì vậy, hãy loại bỏ /etc/resolv.conf liên kết với lệnh sau:
$sudo rm -v /Vân vân/Resolutionv.conf
Bây giờ, hãy tạo một /etc/resolv.conf và đặt máy chủ DNS google làm máy chủ DNS mặc định bằng lệnh sau:
$quăng đi 'máy chủ định danh 8.8.8.8' | sudo tee /Vân vân/Resolutionv.conf
Bây giờ, hãy cập nhật bộ nhớ cache của kho lưu trữ gói APT bằng lệnh sau:
$sudocập nhật apt
Bây giờ, cài đặt dnsmasq bằng lệnh sau:
$sudođúng cáchTải vềdnsmasq
dnsmasq nên được cài đặt.
Định cấu hình Máy chủ DNS dnsmasq:
Tệp cấu hình của dnsmasq là /etc/dnsmasq.conf . Để định cấu hình dnsmasq làm máy chủ DNS, bạn phải sửa đổi tệp này.
Mặc định /etc/dnsmasq.conf tệp chứa rất nhiều tài liệu và các tùy chọn nhận xét. Vì vậy, tôi nghĩ tốt hơn là nên đổi tên /etc/dnsmasq.conf nộp cho /etc/dnsmasq.conf.bk và tạo một cái mới.
Bạn có thể đổi tên tệp cấu hình bằng lệnh sau:
$sudo mv -v /Vân vân/dnsmasq.conf/Vân vân/dnsmasq.conf.bk
Bây giờ, hãy tạo tệp cấu hình /etc/dnsmasq.conf như sau:
$sudo nano /Vân vân/dnsmasq.conf
Bây giờ, hãy nhập các dòng sau và lưu tệp bằng cách nhấn + NS theo dõi bởi và và .
# Cấu hình DNSHải cảng=53
miền cần thiết
không có thật
trật tự nghiêm ngặt
máy chủ mở rộng
miền= example.com
GHI CHÚ: Thay đổi example.com đến tên miền của riêng bạn.
Bây giờ, khởi động lại dịch vụ dnsmasq bằng lệnh sau:
$sudosystemctl khởi động lại dnsmasq
Không có lỗi. Tuyệt vời!
Bây giờ, bạn phải thiết lập 192.168.10.1 làm địa chỉ máy chủ DNS mặc định trong /etc/resolv.conf .
Để làm điều đó, hãy mở /etc/resolv.conf tệp bằng lệnh sau:
$sudo nano /Vân vân/Resolutionv.conf
Bây giờ, hãy nhập máy chủ định danh 192.168.10.1 trước dòng máy chủ định danh 8.8.8.8 như thể hiện trong ảnh chụp màn hình bên dưới. Sau đó, lưu tệp.
Đó là nó.
Thêm bản ghi DNS:
Bây giờ, bạn có thể thêm các mục nhập DNS của mình vào / etc / hosts tập tin.
Đầu tiên, hãy mở / etc / hosts tệp bằng lệnh sau:
$sudo nano /Vân vân/máy chủBây giờ, hãy nhập các mục nhập DNS của bạn theo định dạng sau:
IP_ADDR DOMAIN_NAMETôi đã thêm 4 mục nhập router.example.com (192.168.10.1) , host1.example.com (192.168.10.51) , host2.example.com (192.168.10.52) , và host3.example.com (192.168.10.53) như được đánh dấu trong ảnh chụp màn hình bên dưới. Bạn có thể thêm bao nhiêu mục DNS tùy thích.
Sau khi hoàn tất, hãy lưu tệp bằng cách nhấn + NS theo dõi bởi và và .
Bây giờ, khởi động lại dịch vụ dnsmasq bằng lệnh sau:
$sudosystemctl khởi động lại dnsmasq
Kiểm tra Máy chủ DNS:
Như bạn có thể thấy, giải pháp DNS cục bộ hoạt động.
$bạnrouter.example.com
Độ phân giải tên Internet cũng hoạt động.
$bạnGoogle com
Cấu hình Máy chủ DHCP:
Để định cấu hình máy chủ DHCP, hãy mở tệp cấu hình dnsmasq /etc/dnsmasq.conf một lần nữa như sau:
$sudo nano /Vân vân/dnsmasq.conf
Bây giờ, thêm các dòng được đánh dấu vào cuối tệp. Sau đó, lưu tệp.
# Cấu hình DHCPdhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option = option: bộ định tuyến, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmask, 255.255.255.0
dhcp-host = 00: 0C:29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C:29: A5: BD: 5B, 192.168.10.52
dhcp-host = 00: 0C:29A5: BD: 6C, 192.168.10.53
Ở đây, phạm vi dhcp được sử dụng để đặt dải địa chỉ IP mà máy chủ DHCP sẽ gán cho máy chủ.
dhcp-option được sử dụng để đặt cổng ( tùy chọn: bộ định tuyến ), Địa chỉ máy chủ DNS ( tùy chọn: dns-server ) và netmask ( tùy chọn: netmask )
dhcp-host được sử dụng để đặt các địa chỉ IP cụ thể cho các máy chủ tùy thuộc vào các địa chỉ MAC được chỉ định.
Bây giờ, khởi động lại dịch vụ dnsmasq bằng lệnh sau:
$sudosystemctl khởi động lại dnsmasq
Kiểm tra Máy chủ DHCP:
Như bạn có thể thấy, máy tính host1 có địa chỉ IP 192.168.10.51/24 từ máy chủ DHCP.
Phân giải DNS cũng hoạt động từ host1 .
Theo cách tương tự, host2 và host3 cũng nhận được địa chỉ IP chính xác từ máy chủ DHCP và phân giải DNS hoạt động trên từng địa chỉ trong số chúng.
Đi đâu tiếp theo:
Nếu bạn muốn tìm hiểu thêm về dnsmasq, hãy xem tệp cấu hình mặc định /etc/dnsmasq.conf (bây giờ được đổi tên thành /etc/dnsmasq.conf.bk ). Nó có mô tả chi tiết về tất cả các tùy chọn cấu hình của dnsmasq.
$ít hơn /Vân vân/dnsmasq.conf.bk
Tệp cấu hình dnsmasq mặc định của Ubuntu Server 18.04 LTS.
Vì vậy, đó là cách bạn định cấu hình dnsmasq trên Ubuntu Server 18.04 LTS. Cảm ơn đã đọc bài viết này.