Trong bài này tôi sẽ hướng dẫn các bạn cách sử dụng dịch vụ iptables trên hệ điều hành centos 7 để chuyển tiếp dịch vụ từ một cổng sang một máy chủ khác.
Bước 1: chúng ta cần kiểm tra xem hệ thống đã bật tính năng forwarding port chưa bằng lệnh sau:
cat /proc/sys/net/ipv4/ip_forward
Nếu nhận về giá trị bằng 0 tức là chức năng forward chưa được bật, các bạn thực hiện lệnh này để bật chức năng forward lên nhé
echo 1 > /proc/sys/net/ipv4/ip_forward
Bước 2: Thực hiện các lệnh sau để thêm luật (rule) cho iptables
iptables -t nat -A PREROUTING -p tcp --dport $PORT -j DNAT --to-destination $NEW_IP:$PORT_NEW iptables -t nat -A POSTROUTING -p tcp -d $NEW_IP --dport 80 -j SNAT --to-source $OLD_IP iptables -t nat -A POSTROUTING -j MASQUERADE
Trong đó:
$NEW_IP là địa chỉ ip mới
$OLD_IP là địa chỉ ip cũ
$PORT_NEW là cổng dịch vụ đang chạy trên server mới
$PORT là cổng dịch vụ trên server cũ
Bước 3: các bạn chạy lệnh sau để lưu cấu hình iptables ra file cấu hình
service iptables save
Bước 4: Mở file cấu hình iptables tại vị trí /etc/sysconfig/iptables và tìm đến dòng -A FORWARD -j REJECT –reject-with icmp-host-prohibited sau đó thêm 2 dòng dưới đây vào phía trên dòng vừa tìm được
-A FORWARD -i eth0 -j ACCEPT -A FORWARD -o eth0 -j ACCEPT
Bước cuối cùng: Cac bạn khởi động lại dịch vụ iptables
systemctl restart iptables
Chú ý: để kiểm tra xem cấu hình iptables đã hoạt động chưa thì các bạn có thể sử dụng chương trình telnet từ một máy tính khác trong cùng mạng với máy tính được cấu hình. Nếu bạn đứng trên cùng máy tính được cấu hình port forwarding thì sẽ không thể kiểm tra được.
Chúc các bạn thành công