II. TỔNG QUAN VỀ FIREWALL
I.9 NAT trong iptables
NAT ( Network Address Translation ) là một kỹ thuật dùng để giải quyết vấn đề IP shortage. NAT hoạt động nhƣ một router , công việc của nó là chuyển tiếp các gói tin giữa các lớp mạng khác nhau trên một hệ thống mạng lớn.
NAT trong iptables có thể hoạt động trên nhiều chức năng khác nhau dựa trên thao tác với địa chỉ ( đích hoặc nguồn ) và các cổng. NAT trong iptables hỗ trợ các module để giúp nhúng địa chỉ vào các gói dữ liệu đƣợc trao đổi theo các giao thức.
Bảng 7 NAT trong iptables
Helper Protocol
ip_nat_amanda Amanda backup protocol (cần cấu hình file
CONFIG_IP_NF_NAT_AMANDA)
ip_nat_ftp File Transfer Protocol (cần cấu hình file
CONFIG_IP_NF_NAT_FTP )
ip_nat_irc Internet Relay Chat (cần cấu hình file
SVTH: Lã Xuân Tâm,Trần Canh Ngọ - Lớp 11TLT Trang 46
ip_nat_snmp_basic Simple Network Management Protocol
(cần cấu hình file
CONFIG_IP_NF_NAT_SNMP_BASIC)
ip_nat_tftp Trivial File Transfer Protocol (cần cấu
hình file CONFIG_IP_NF_NAT_TFTP)
Nếu muốn một số gói tin nào đó vƣợt qua bảng NAT, chúng ta sử dụng lệnh:
#iptables -t nat -i eth1 ... -j ACCEPT
Source NAT (SNAT) và Destination NAT (DNAT) thƣờng đƣợc dùng để chia sẻ kết nối internet giữa các máy tính trong mạng nội bộ . Máy tính khi kết nối internet đƣợc xem nhƣ là một gateway . Source NAT (SNAT) sẽ thay đổi địa chỉ nguồn của các gói tin di ra internet bằng địa chỉ Ip internet tĩnh của gateway. Khi gateway nhận đƣợc các gói tin trả về từ internet , Destination NAT (DNAT) sẽ thay đổi địa chỉ đích của các gói tin rồi chuyển đến các máy tính trong mạng nội bộ.
Trong Iptables POSTROUTING chain của bảng NAT sẽ đảm nhận công việc Source SNAT.Source NAT có hai phần mở rộng đó là SNAT và MASQUERADE.SNAT đƣợc sử dụng cho các máy tính gateway có địa chỉ IP tĩnh, còn MASQUERADE dùng cho các máy tính gateway có địa chỉ IP động.
Chúng ta có thể thiết lập SNAT trên giao diện eth1 bằng lệnh :
#iptables -t nat -A POSTROUTING -o eth1 -j SNAT
Và với MASQUERADE :
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Tƣơng tự nhƣ vậy PREROUTING chain của bảng NAT sẽ đảm nhận công việc Destination NAT (DNAT) . Ví dụ
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.3:8080
Câu lệnh trên cho phép những gói tin di vào từ interface eth1 với giao thức tcp cổng đƣợc chuyển đến địa chỉ IP 192.168.1.3 với số hiệu port 8080