Bài số 6: Thiết lập hệ thống email giữa 2 domain
Thực hiện các bước tương tự như bài thực hành trên, máy chủ mail.edu.vn được cấu hình để cung cấp thêm dịch vụ email cho domain “edu.vn”. Trong bài thực hành này, các máy chủ Email cần kết nối được với nhau để chuyển tiếp mail giữa 2 domain có các thông số cấu hình như sau:
Zone “edu.vn”: name: mail.edu.vn
IP: 192.168.56.4
Zone “mydomain.vn”: name: mail.mydomain.vn
IP: 192.168.56.3
Các bước thực hiện như sau:
- Bước 1: Kiểm tra hệ thống hàng đợi email
- Bước 2: Kết nối với hệ thống DNS
- Bước 3: Kiểm tra vận hành hệ thống
Bước 1: Kiểm tra hệ thống hàng đợi mail
Khi một user trong domain “mydomain.vn” gửi mail cho một user khác trong cùng domain, mail này sẽ được chuyển ngay vào mailbox của user trên máy chủ email. Trường hợp gửi cho một user nằm ngoài domain, mail sẽ được đưa vào hàng đợi để Postfix trên các máy chủ email liên lạc với nhau và chuyển tiếp mail. Lệnh postqueue -p hiển thị danh sách các mail đang thuộc hàng đợi. Mỗi mail được gán với một mã số Queue ID:
Để xem nội dung một mail đang trong hàng đợi, sử dụng lệnh postcat -q với mã số mail trong hàng đợi:
Tùy theo cấu hình, Postfix liên lạc với nhau và gửi mail đang nằm trong các hàng đợi. Sử dụng lệnh postqueue -f để yêu cầu Postfix gửi ngay email đang nằm trong hàng đợi.
Bước 2: Kết nối với hệ thống DNS
Nhìn vào nội dung hàng đợi có thể thấy trạng thái các mail. Hiện tại đều có trạng thái là “connect to mail.edu.vn[1.2.3.4]:25: Connection refused”. Có thể thấy ngay địa chỉ IP của các máy chủ mail đang sai. Các thông báo lỗi chi tiết có thể được xem trong file log với lệnh “tail /var/log/maillog”. Sử dụng dịch vụ DNS để sửa lại các dịa chỉ IP của mail server cho đúng. Ví dụ, đối với zone “edu.vn”, cần cập nhật lại resource record kiểu MX:
$TTL 1D ; resource record can be cached by other server for maximum 1 day $ORIGIN edu.vn. @ IN SOA ns1.edu.vn. hostmaster.edu.vn. ( 20151108 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.edu.vn. MX 10 mail.edu.vn. ns1 A 192.168.56.4 mail A 192.168.56.4
Xử lý tương tự trên máy chủ DNS zone “mydomain.vn”:
$TTL 1D ; resource record can be cached by other server for maximum 1 day @ IN SOA ns1.mydomain.vn. hostmaster.hp.vn. ( 20151108 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ns1.mydomain.vn. MX 10 mail.mydomain.vn. ns1 A 192.168.56.3 mail A 192.168.56.3
Khợi động lại các dịch vụ DNS trên các máy chủ DNS và dùng nslookup kiểm tra các máy chủ mail.mydomain.vn và mail.edu.vn đã được cập nhật địa chỉ IP đúng.
Bước 3: Kiểm tra và vận hành hệ thống
Sử dụng postqueue -f để yêu cầu postfix chuyển tiếp tất cả các mail trong hàng đợi và lại kiểm tra hàng đợi bằng postqueue -p:
Có thể thấy các mail vẫn chưa được chuyển đi nhưng trạng thái đã thay đổi (chuyển thành “Connection refused”) cùng với các địa chỉ IP của mail server đã được cập nhật chính xác. Có thể phán đoán được rằng postfix trên máy mydomain.vn đã tìm được đúng địa chỉ IP của mail server cho tên miền “edu.vn” nhưng khi kết nối thì chưa thành công.
Lý do ở đây là vấn đề đảm bảo an ninh. Postfix được cấu hình mặc định không nhận chuyển tiếp mail từ bên ngoài. Nó chỉ nhận mail qua card mạng localhost. Trong tình huống hiện tại, các Postfix trên máy mail.edu.vn và mail.mydomain.vn cần phải liên lạc với nhau qua cổng 25. Có thể kiểm tra bằng lệnh telnet vào cổng 25 hoặc netstat xem các dịch vụ của hệ thống đang nghe kết nối trên card mạng nào:
Sửa lại tham số inet_interfaces trong file cấu hình /etc/postfix/main.cf để cho phép Postfix nhận kết nối từ tất cả các card mạng của máy chủ:
Khởi động lại dịch vụ Postfix và kiểm tra với netstat:
Sử dụng postqueue -f để yêu cầu chuyển tiếp mail trong hàng đợi và check lại bằng postqueue -p. Khi mail đã được chuyển đi thành công, sử dụng mail hoặc mutt trên các máy chủ mail.edu.vn và mail.mydomain.vn để kiểm tra gửi nhận mail đã chạy tốt giữa 2 domain.