Memahami Penerusan Port SMTP:
Meneruskan koneksi SMTP untuk berbagai domain ke port internal berbeda di server yang sama dapat menjadi tantangan, terutama ketika kedua server email harus menggunakan port 25. Penyiapan ini memerlukan metode untuk mengalihkan lalu lintas SMTP masuk ke port internal yang sesuai berdasarkan domain.
Dalam panduan ini, kami mengeksplorasi cara mencapai konfigurasi ini dan mendiskusikan alat yang dapat memfasilitasi proses ini. Baik Anda menggunakan Nginx, HAProxy, atau solusi lainnya, tujuannya adalah mengelola koneksi SMTP Anda secara efektif tanpa konflik port.
Memerintah | Keterangan |
---|---|
upstream | Mendefinisikan sekelompok server backend di Nginx untuk penyeimbangan beban. |
proxy_pass | Menentukan server backend tujuan pengiriman permintaan di Nginx. |
acl | Mendefinisikan daftar kontrol akses di HAProxy untuk perutean bersyarat. |
hdr(host) | Memeriksa header host HTTP di HAProxy agar cocok dengan domain tertentu. |
use_backend | Mengarahkan lalu lintas ke backend tertentu berdasarkan kondisi di HAProxy. |
transport_maps | Menentukan file pemetaan untuk pengaturan transport khusus domain di Postfix. |
postmap | Menghasilkan file peta hash biner dari file teks biasa untuk Postfix. |
Penjelasan Mendetail tentang Solusi Penerusan SMTP
Skrip yang diberikan dalam contoh di atas menunjukkan cara mengalihkan koneksi SMTP untuk domain berbeda ke port internal tertentu menggunakan alat seperti Nginx, HAProxy, dan Postfix. Pada skrip pertama, kami menggunakan upstream arahan di Nginx untuk menentukan server backend untuk setiap domain. Itu proxy_pass direktif kemudian menentukan server backend mana yang akan meneruskan koneksi berdasarkan nama domain. Hal ini memungkinkan lalu lintas SMTP masuk pada port 25 dialihkan ke port internal yang berbeda untuk setiap domain.
Skrip kedua menggunakan HAProxy untuk fungsi serupa. Itu acl perintah membuat daftar kontrol akses untuk mencocokkan domain masuk menggunakan hdr(host) memerintah. Tergantung pada domainnya, itu use_backend perintah mengarahkan lalu lintas ke server backend yang sesuai. Pada skrip ketiga, Postfix dikonfigurasi untuk menggunakan file peta transport, yang ditentukan oleh transport_maps parameter. File ini memetakan setiap domain ke port internal tertentu, dan postmap perintah mengkompilasi peta transport ke dalam format yang dapat digunakan Postfix. Solusi ini memastikan lalu lintas SMTP dirutekan dengan benar ke server email yang dituju tanpa konflik port.
Mengarahkan Koneksi SMTP Berdasarkan Domain
Menggunakan Nginx dengan Modul Stream
stream {
upstream mail_backend_abc {
server 127.0.0.1:26;
}
upstream mail_backend_xyz {
server 127.0.0.1:27;
}
server {
listen 25;
proxy_pass mail_backend_abc;
server_name abc.com;
}
server {
listen 25;
proxy_pass mail_backend_xyz;
server_name xyz.com;
}
}
Mengonfigurasi HAProxy untuk Penerusan Port SMTP
Menggunakan Konfigurasi HAProxy
frontend smtp_frontend
bind *:25
acl host_abc hdr(host) -i abc.com
acl host_xyz hdr(host) -i xyz.com
use_backend smtp_backend_abc if host_abc
use_backend smtp_backend_xyz if host_xyz
backend smtp_backend_abc
server smtp_abc 127.0.0.1:26
backend smtp_backend_xyz
server smtp_xyz 127.0.0.1:27
Mengelola Penerusan SMTP dengan Postfix Transport Maps
Konfigurasi Postfix
/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport:
abc.com smtp:[127.0.0.1]:26
xyz.com smtp:[127.0.0.1]:27
Run the following command to update the transport map:
postmap /etc/postfix/transport
Restart Postfix:
systemctl restart postfix
Teknik Penerusan Port SMTP Tingkat Lanjut
Aspek penting lainnya yang perlu dipertimbangkan saat meneruskan koneksi SMTP adalah penggunaan SSL/TLS untuk mengamankan komunikasi email. Menerapkan SSL/TLS memastikan bahwa data yang dikirimkan antara klien dan server dienkripsi, memberikan lapisan keamanan tambahan. Anda dapat menggunakan alat seperti stunnel atau Nginx dengan modul SSL untuk menangani koneksi SMTP terenkripsi. Dengan mengonfigurasi alat ini, Anda dapat mendekripsi koneksi masuk dan kemudian meneruskannya ke port internal yang sesuai, sehingga menjaga keamanan sekaligus mencapai penerusan port yang diinginkan.
Selain itu, pemantauan dan pencatatan sangat penting untuk menjaga pengaturan server email yang andal dan aman. Alat seperti Fail2Ban dapat digunakan untuk memantau file log dan melarang alamat IP yang menunjukkan aktivitas berbahaya, seperti upaya login yang gagal berulang kali. Menggabungkan langkah-langkah keamanan ini dengan solusi penerusan porta yang dibahas sebelumnya memastikan infrastruktur email yang kuat dan aman yang mampu menangani banyak domain di satu server secara efisien.
Pertanyaan dan Jawaban Umum tentang Penerusan Port SMTP
- Bagaimana cara meneruskan koneksi SMTP untuk beberapa domain di satu server?
- Anda dapat menggunakan alat seperti Nginx dengan stream module, HAProxy, atau Postfix dengan transport maps untuk meneruskan koneksi SMTP ke port internal yang berbeda berdasarkan domain.
- Bisakah Nginx menangani koneksi SMTP terenkripsi?
- Ya, Nginx dapat menangani koneksi SMTP terenkripsi menggunakan SSL module untuk mendekripsi koneksi masuk dan kemudian meneruskannya ke server backend yang sesuai.
- Apa peran dari upstream arahan di Nginx?
- Itu upstream direktif mendefinisikan sekelompok server backend di Nginx, memungkinkan Anda menentukan ke mana lalu lintas harus diteruskan.
- Bagaimana proxy_pass pekerjaan direktif di Nginx?
- Itu proxy_pass direktif menentukan server backend tujuan pengiriman permintaan, berdasarkan kondisi seperti nama domain.
- Apa fungsi dari acl perintah di HAProxy?
- Itu acl perintah di HAProxy membuat daftar kontrol akses untuk mencocokkan kondisi tertentu, seperti nama domain, untuk keputusan perutean.
- Bagaimana transport_maps parameter berfungsi di Postfix?
- Itu transport_maps parameter di Postfix menentukan file pemetaan yang menentukan bagaimana email untuk domain berbeda harus dirutekan ke port internal tertentu.
- Perintah apa yang digunakan untuk mengkompilasi file peta transport di Postfix?
- Itu postmap perintah digunakan untuk mengkompilasi file peta transport ke dalam format biner yang dapat digunakan Postfix.
- Mengapa pemantauan penting untuk server SMTP?
- Pemantauan sangat penting untuk mendeteksi dan mencegah aktivitas jahat, memastikan keandalan server email, dan menjaga keamanan melalui alat seperti Fail2Ban.
Pemikiran Terakhir tentang Penerusan SMTP:
Meneruskan koneksi SMTP untuk domain berbeda ke port internal tertentu di server yang sama adalah solusi yang layak menggunakan alat seperti Nginx, HAProxy, dan Postfix. Metode ini memungkinkan manajemen lalu lintas yang efisien dan mencegah konflik port, memastikan kelancaran pengoperasian beberapa server email. Selain itu, menggabungkan langkah-langkah keamanan dan alat pemantauan akan meningkatkan keandalan dan keamanan server. Dengan mengikuti panduan ini, administrator dapat mengelola dan menskalakan infrastruktur server email mereka secara efektif.