Việc cấu hình để mạng bên ngoài có thể truy cập được các Server từ một LAN nội
bộ. Đây cũng là mô hình rất phổ biến. Nó có thể làm công việc cân bằng tải vừa tạo tính an
toàn cho mạng nội bộ. Phưong pháp thực hiện điều này có thể lý giải ngắn gọn như sau:
người dùng internet muốn truy cập đến một trang web nào đó thì trên URL họ chỉ gõ địa
chỉcủa Serverảo (hay còngọi là VIP , viếttắttừcụm từ VirtualIP). Và Serverào này cũng
là gateway , tại đây ta cũng thiết lập tường lửa. Tại đây , nó sẽ xem xét địa chỉ cũng như
port, sau đó nó sẽ forward đến server cần thiết Mô hình cấu hình server do chúng tôi tự
thiết lập được minh họa ở hình dưới đây .
16 trang |
Chia sẻ: thienmai908 | Lượt xem: 1162 | Lượt tải: 0
Nội dung tài liệu Áp dụng IPT ABLES vào web server và FTP server, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ation 192.168.1.2:21
# iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.2 --dport 21 \
-j ACCEPT
## Tương tự, ta cấu hình cho máy 192.168.1.3
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2020:2121 \
-j DNAT --to-destination 192.168.1.3:21
# iptables -A FORWARD -p tcp -i eth0 -d 192.168.1.3 --dport 21 \
-j ACCEPT
NGUYỄN HỒNG THÁI 16/12/2006 10
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
Hình 2: Mô hình mạng LAN cùng với các server
5. Kết quả của việc cấu hình trên
Kết quả của việc cấu hình iptables sẽ được lưu trong file /etc/sysconfig/iptables như sau:
# Generated by iptables-save v1.2.8 on Thu Nov 9 15:47:54 2006
*nat
:PREROUTING ACCEPT [4169:438355]
:POSTROUTING ACCEPT [106:6312]
:OUTPUT ACCEPT [22:1332]
-A PREROUTING -d 172.28.24.199 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination
192.168.1.2:8080
-A PREROUTING -d 172.28.24.199 -i eth0 -p tcp -m tcp --dport 8888 -j DNAT --to-destination
192.168.1.3:80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 20:21 -j DNAT --to-destination 192.168.1.2:21
-A PREROUTING -i eth0 -p tcp -m tcp --dport 2020:2121 -j DNAT --to-destination 192.168.1.3:21
-A POSTROUTING -o eth0 -j SNAT --to-source 172.28.24.199
COMMIT
# Completed on Thu Nov 9 15:47:54 2006
# Generated by iptables-save v1.2.8 on Thu Nov 9 15:47:54 2006
*filter
:INPUT DROP [4011:414080]
NGUYỄN HỒNG THÁI 16/12/2006 11
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
:FORWARD ACCEPT [552:57100]
:OUTPUT ACCEPT [393:43195]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ! eth0 -m state --state NEW -j ACCEPT
-A FORWARD -d 192.168.1.3 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
COMMIT
# Completed on Thu Nov 9 15:47:54 2006
# Generated by iptables-save v1.2.8 on Thu Nov 9 15:47:54 2006
*mangle
:PREROUTING ACCEPT [5114:853418]
:INPUT ACCEPT [4416:773589]
:FORWARD ACCEPT [552:57100]
:OUTPUT ACCEPT [393:43195]
:POSTROUTING ACCEPT [945:100295]
COMMIT
# Completed on Thu Nov 9 15:47:54 2006
Kết quả khi thực hiện traceroute từ máy 192.168.1.2 đến máy khác như sau:
sysadmin@debian:~$ traceroute 172.28.24.195
traceroute to 172.28.24.195 (172.28.24.195), 30 hops max, 38 byte packets
1 192.168.1.1 (192.168.1.1) 2.541 ms 3.409 ms 0.142 ms
2 172.28.24.195 (172.28.24.195) 0.298 ms 3.125 ms 0.256 ms
sysadmin@debian:~$ traceroute 172.28.2.2
traceroute to 172.28.2.2 (172.28.2.2), 30 hops max, 38 byte packets
1 192.168.1.1 (192.168.1.1) 0.259 ms 4.546 ms 0.185 ms
2 172.28.24.1 (172.28.24.1) 1.182 ms 2.777 ms 0.820 ms
3 hcmut-server.hcmut.edu.vn (172.28.2.2) 0.988 ms 4.159 ms 5.069 ms
sysadmin@debian:~$
Kết quả khi thực hiện mtr từ máy 192.168.1.2 đến máy khác như sau:
My traceroute [v0.67]
debian (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00) Wed Nov 15 11:11:31 2006
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 70 0.3 1.4 0.2 59.0 7.2
2. 172.28.24.195 0.0% 70 0.4 6.8 0.3 292.3 35.7
My traceroute [v0.67]
debian (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00) Wed Nov 15 11:13:13 2006
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 12 0.2 0.3 0.2 1.2 0.3
2. 172.28.24.1 0.0% 12 0.9 1.5 0.8 6.0 1.6
3. hcmut-server.hcmut.edu.vn 0.0% 12 0.4 0.9 0.4 4.7 1.3
NGUYỄN HỒNG THÁI 16/12/2006 12
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
Kết quả từ máy 192.168.1.2, dùng Konqueror để truy cập Web server. Nếu ở URL gõ
máy tính sẽ hiểu là truy cập Web Server trên máy máy 192.168.1.2
trên port 8080. Điều này có thể dễ dàng nhận ra vì dùng lệnh ifconfig thì thấy rằng địa chỉ
192.168.1.2 chính là địa chỉ của interface eth0 của máy 192.168.1.2. Còn nếu ở URL gõ
thì nó sẽ hiểu địa chỉ này không phải địa chỉ trong mạng của nó. Do đó,
nó gởi đến gateway và trên gateway sẽ định tuyến gói theo quy luật mà iptables đã cài ở trên
(ở phần cài đặt để LAN có thể truy cập ra mạng bên ngoài). Nó ánh xạ địa chỉ
172.28.24.199 port 80 → 192.168.1.2 port 8080. Vì vậy, mà tuy gõ hai địa chỉ ở URL khác
nhau nhưng kết quả trả về từ web server là giống nhau. Đồng thời, trên máy 192.168.1.2 ta
đăng nhập từ xa đến một máy khác ngoài mạng thử dùng Internet Explorer để truy cập
thì ta vẫn nhận được kết quả từ web server hoàn toàn giống với 2 kết
quả trên.
Còn nếu trên máy dùng làm gateway ta dùng Mozilla Firefox để truy cập
thì nó sẽ hiểu là truy cập Web Server trên máy này mặc dù máy này có địa
chỉ 172.28.24.199. Ta rõ ràng thấy sự khác biệt trong điều này, mặc dù cùng địa chỉ
172.28.24.199 và cùng port 80 nhưng ở những vị trí truy cập khác nhau thì cho kết quả khác
nhau.
Tương tự như trên, trên máy 192.168.1.2 ta truy cập ftp://localhost và đăng nhập từ
xa đến máy ở mạng khác và dùng Internet Explorer để truy cập ftp://172.28.24.199. Cả 2
điều này cùng có nghĩa là truy cập đến FTP Server trên máy 192.168.1.2 port 21. Do đó, ta
nhận được hai kết quả giống nhau.
Hình 3: Kết quả truy cập Web Server trên 2 máy khác nhau
NGUYỄN HỒNG THÁI 16/12/2006 13
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
Hình 4:Kết quả truy cập Web Server trên máy dùng làm gateway
Hình 5: Kết quả truy cập ftp đồng thời trên 2 máy
NGUYỄN HỒNG THÁI 16/12/2006 14
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
Kết quả trên máy dùng làm gateway, chúng tôi dùng chương trình tcpdump giám giám việc
định tuyến qua gateway. Kết quả thu được như sau:
11:01:09.614831 172.28.24.199.1065 > 172.28.24.195.3389: . ack 309 win 53576
(DF)
11:01:09.908869 172.28.24.199.1026 > www.hcmut.edu.vn.domain: 59879+ PTR?
164.24.28.172.in-addr.arpa. (44) (DF)
11:01:09.909556 www.hcmut.edu.vn.domain > 172.28.24.199.1026: 59879 NXDomain* 0/1/0
(112) (DF)
11:01:09.925041 172.28.24.195.3389 > 172.28.24.199.1065: P 309:326(17) ack 1 win 64376
(DF)
11:01:09.925202 172.28.24.199.1065 > 172.28.24.195.3389: . ack 326 win 53576
(DF)
11:01:10.455809 172.28.24.195.3389 > 172.28.24.199.1065: P 326:342(16) ack 1 win 64376
(DF)
11:01:10.455995 172.28.24.199.1065 > 172.28.24.195.3389: . ack 342 win 53576
(DF)
11:01:10.555978 172.28.24.195.3389 > 172.28.24.199.1065: P 342:371(29) ack 1 win 64376
(DF)
11:01:10.556143 172.28.24.199.1065 > 172.28.24.195.3389: . ack 371 win 53576
(DF)
11:01:10.986546 172.28.24.195.3389 > 172.28.24.199.1065: P 371:388(17) ack 1 win 64376
(DF)
11:01:10.986722 172.28.24.199.1065 > 172.28.24.195.3389: . ack 388 win 53576
(DF)
11:01:11.517327 172.28.24.195.3389 > 172.28.24.199.1065: P 388:404(16) ack 1 win 64376
(DF)
11:01:11.517490 172.28.24.199.1065 > 172.28.24.195.3389: . ack 404 win 53576
(DF),nop,timestamp 23626 589230> (DF)
11:01:09.614831 172.28.24.199.1065 > 172.28.24.195.3389: . ack 309 win 53576
(DF)
11:01:09.908869 172.28.24.199.1026 > www.hcmut.edu.vn.domain: 59879+ PTR?
164.24.28.172.in-addr.arpa. (44) (DF)
11:01:09.909556 www.hcmut.edu.vn.domain > 172.28.24.199.1026: 59879 NXDomain* 0/1/0
(112) (DF)
11:01:09.925041 172.28.24.195.3389 > 172.28.24.199.1065: P 309:326(17) ack 1 win 64376
(DF)
11:01:09.925202 172.28.24.199.1065 > 172.28.24.195.3389: . ack 326 win 53576
(DF)
11:01:10.455809 172.28.24.195.3389 > 172.28.24.199.1065: P 326:342(16) ack 1 win 64376
(DF)
11:01:10.455995 172.28.24.199.1065 > 172.28.24.195.3389: . ack 342 win 53576
(DF)
11:01:10.555978 172.28.24.195.3389 > 172.28.24.199.1065: P 342:371(29) ack 1 win 64376
(DF)
11:01:10.556143 172.28.24.199.1065 > 172.28.24.195.3389: . ack 371 win 53576
(DF)
NGUYỄN HỒNG THÁI 16/12/2006 15
ÁP DỤNG IPTABLES VÀO WEB SERVER VÀ FTP SERVER
11:01:10.986546 172.28.24.195.3389 > 172.28.24.199.1065: P 371:388(17) ack 1 win 64376
(DF)
11:01:10.986722 172.28.24.199.1065 > 172.28.24.195.3389: . ack 388 win 53576
(DF)
11:01:11.517327 172.28.24.195.3389 > 172.28.24.199.1065: P 388:404(16) ack 1 win 64376
(DF)
11:01:11.517490 172.28.24.199.1065 > 172.28.24.195.3389: . ack 404 win 53576
(DF)
Kết quả trên cho thấy ta hoàn toàn không thấy được những máy trên mạng
192.168.1.0/24.
Tóm lại, dùng iptables để cấu hình việc NAT từ trong ra ngoài để cho phép từ những
máy trong mạng LAN có thể truy cập đến các Server bên ngoài. Và việc NAT từ ngoài vào
trong là để cho phép các máy có thể ở ngoài mạng có thể truy cập đến những Server bên
trong mạng LAN. Kết quả cho thấy, ta đã thực hiện được cân bằng tải server, tức là cùng địa
chỉ IP nhưng khác port, ta có thể truy cập đến 2 server khác nhau. Thứ hai, là nếu với những
cách truy cập khác nhau và ở những vị trí khác nhau thì máy tính cũng sẽ hiểu khác nhau.
Và thức ba là, từ kết quả của chương trình tcpdump cho thấy với iptables ta ngoài việc thực
hiện lọc gói tin, nó còn thực hiện được NAT và đồng thời vẫn đảm bảo tính bảo mật cho
mạng bên trong. Tuy nhiên, việc cấu hình cân bằng tải server và bảo mật cho mạng người ta
không làm trên phần mềm mà làm trực tiếp trên các phần cứng.
TÀI LIỆU THAM KHẢO
[1] Nguyễn Thị Điệp và Tiêu Đông Nhơn, Giáo trình Dịch vụ mạng Linux, Đại học Quốc Gia Thành
phố Hồ Chí Minh 12/2005
[2] How do i forward ftp from my firewall to an internal server by Mark E. Donaldson
[3] PORT FORWARDING - with IPTABLES while using BASTILLE firewall by kishan at
hackorama dot com
[4] Masquerading Made Simple HOWTO by John Tapsell, Thomas Spellman and Matthias Grimm
NGUYỄN HỒNG THÁI 16/12/2006 16
Các file đính kèm theo tài liệu này:
- jgkiah;glkwp;kghauiguwkhoahockithuatmaytinh (21).pdf