Series các bài viết về Linux Firewall IPtables Configuration:
#01 – Giới thiệu về IPtables
#02 – Tìm hiểu về Tables, Chains, Rules và xử lý packet trong IPtables
#03 – Cấu hình Fillter, Nat-in, Nat-out trong IPtables
#04 – Cấu hình IPtables chống DOS
#05 – Viết Shell Script để cấu hình IPtables
#06 – Viết GUI cho IPtables dưới dạng Web
Cấu hình Fillter, Nat-in, Nat-out trong IPtables
Yêu cầu:
- 1 PC cài đặt iptables có ít nhất 2 interface nhận dải mạng 10.1.1.0/24 và dải mạng được nat ra ISP
- 1 PC đóng vai trò là server nằm trong dải mạng 10.1.1.0/24
- 1 PC đóng vai trò là ISP trong bài lab này tôi sử dụng máy thật làm ISP
Hướng dẫn thực hiện:
Trước hết chúng ta phải enable Forwarding ta có thể hiểu đơn giản là nó giúp forward các packet qua các interface. Ta có thể enable bằng 2 cách sau:
echo ‘1’ > /proc/sys/net/ipv4/ip_forward
hoặc vào /etc/sysctl.conf và chuyển net.ipv4.ip_forward về 1
net.ipv4.ip_forward = 1
1. Cấu hình Filter
– Hạn chế ping bởi giao thức ICMP
-A INPUT -p icmp -j DROP
– Hạn chế 1 địa chỉ IP truy cập vào server
-I INPUT -s 70.78.x.x -j DROP
phần này tôi sẽ nói về cách DROP 1 list IP bằng script vào phần sau.
– Chấp nhận các packet vào cổng 80 trên card mạng eth0
-A INPUT -i eth0 –dport 80 -j ACCEPT
– Thả các packet đến cổng 23 dùng giao thức TCP trên card mạng eth0
-A INPUT -i eth0 -p tcp –dport 23 -j DROP
– Gởi gói TCP với cờ RST=1 cho các kết nối không đến từ dãy địa chỉ IP 10.0.0.1..5 trên cổng 22, card mạng eth1
-A INPUT -i eth1 -s ! 10.0.0.1-10.0.0.5 –dport 22 -j REJECT –reject-with tcp-reset
– Gởi gói ICMP `port-unreachable` cho các kết nối đến cổng 139, dùng giao thức UDP
-A INPUT -p udp –dport 139 -j REJECT –reject-with icmp-port-unreachable
2. Cấu hình NAT OutBound
-A POSTROUTING -s 10.1.1.0/24 -d 0/0 -o eth0 -j MASQUERADE
POSTROUTING tức nó sẽ NAT sau khi đươc routing, còn MASQUERADE là 1 target đặc biệt của POSTROUTING vì không cần phải dùng IP cụ thể của network interface nào tiếp diện với Internet bạn cũng có thể thay bằng SNAT nhưng bạn phải binding khi thay đổi IP
3. Cấu hình NAT IntBound
Nat vào Web server có IP 10.1.1.2 từ địa chỉ External 192.168.1.5
-A PREROUTING -d 192.168.1.5 -i eth0 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.1.1.2:80
PREROUTING tức là NAT trước khi routing, còn DNAT là quá trình chuyển đổi 1 địa chỉ Public IP thành Private IP
Tôi sẽ viết 1 số bài về cách kết hợp giữa iptables với 1 proxy để có thể NAT hiệu quả hơn, bạn có thể theo dõi ở những bài sau.
Lượt xem (2821)
Để lại bình luận: