Bài số 2: Thiết lập NAT cho Gateway

Một phần của tài liệu Bài giảng Thiết kế và cài đặt Mạng Intranet (Trang 126 - 131)

Chương 2. Ứng dụng TCP/IP & Intranet

3.4 Các bài thực hành

3.4.2 Bài số 2: Thiết lập NAT cho Gateway

Trong bài thực hành này, yêu cầu đặt ra vẫn như bài số 1, tuy nhiên khi đi ra khỏi mạng Intranet của công ty, gói tin cần được chuyển đổi địa chỉ IP từ dạng IP private (192.168.56.x) sang dạng IP public (203.162.1.1) để có thể lưu thông trên mạng Internet. Để thực hiện điềug này, chức năng NAT trong Gateway cần được thiết lập.

Thiết lập chức năng log gói tin

Để kiểm tra đường đi các gói tin, sử dụng iptables để log chúng vào file /var/etc/messages. Phương pháp này sử dụng dịch vụ syslog của hệ thống và dùng iptables để khai báo các rule với target LOG. Do sử dụng lệnh ping tracepath để kiểm tra các kết nối giữa các máy nên chỉ cần log các gói tin ICMP. Tiếp tục bài thực hành số 1, trên máy outside

[root@hp.mydomain.vn]# ping 203.162.1.200

PING 203.162.1.200 (203.162.1.200) 56(84) bytes of data.

64 bytes from 203.162.1.200: icmp_seq=1 ttl=63 time=1.66 ms 64 bytes from 203.162.1.200: icmp_seq=1 ttl=63 time=1.72 ms [root@hp.mydomain.vn]# tracepath -n 203.162.1.200

1?: [LOCALHOST] pmtu 1500 1: 192.168.56.3 2.513ms 1: 203.162.1.200 5.999ms

Resume: pmtu 1500

hp.mydomain.vn thực hiện log tất cả các gói tin icmp ở chain OUTPUT. Sau đó xem file log /var/log/messages:

[root@outside ~]# route -n Kernel IP routing table

> iptables -A OUTPUT -p icmp -j LOG

># tail -f /var/log/messages

Sử dụng lệnh ping để kiểm tra kết nối giữa hai máy outside hp.mydomain.vn rồi xem log file, kết quả như sau:

Có thể thấy các gói tin ICMP với type=0 được gửi đi và type=8 được trả về theo các địa chỉ IP của ouside là 203.162.1.200 và hp.mydomain.vn là 192.168.56.5.

Thiết lập chức năng NAT trong Gateway

Bước tiếp theo, ta không muốn các gói tin khi lưu thông ngoài mạng Intranet lại sử dụng địa chỉ IP private mà thay vào đó, các gói tin này phải được NAT sang địa chỉ mặt ngoài của Gateway (là 203.162.1.100). Để đảm bảo máy outside không thể nói chuyện trực tiếp với mạng Intranet 192.168.56.0, ta bỏ đi dòng route mặc định vào Gateway:

Destination

203.162.1.0 Gateway

0.0.0.0 Genmask

255.255.255.0 Flags Metric Ref Use Iface

U 0 0 0 eth1

10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1

0.0.0.0 203.162.1. 100 0.0.0.0 UG 0 0 0 eth1  cần bỏ dòng này đi

[root@outside ~]# route del -net 0.0.0.0 [root@outside ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

203.162.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1 [root@outside ~]# tail -f /var/log/messages

Nov 17 05:24:04 outside kernel: IN= OUT=eth1 SRC=203.162.1.200 DST=192.168.56.5 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=34404 PROTO=ICMP TYPE=0 CODE=0 ID=55045 SEQ=3

Nov 17 05:24:04 outside kernel: IN= OUT=eth1 SRC=203.162.1.200 DST=192.168.56.5 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=34405 PROTO=ICMP TYPE=0 CODE=0 ID=55045 SEQ=3

[root@hp ~]# tail -f /var/log/messages

Nov 17 04:50:23 hp kernel: IN= OUT=eth1 SRC=192.168.56.5 DST=203.162.1.200 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=10132 PROTO=ICMP TYPE=0 CODE=0 ID=17925 SEQ=1

Nov 17 04:50:24 hp kernel: IN= OUT=eth1 SRC=192.168.56.5 DST=203.162.1.200 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=10133 PROTO=ICMP TYPE=0 CODE=0 ID=17925 SEQ=2

Để kiểm tra máy outside không thể nói chuyện trực tiếp với mạng Intranet, sử dụng lệnh ping đến máy hp.mydomain.vn:

[root@mydomain ~]# iptables -L -n Chain INPUT (policy ACCEPT)

Chain FORWARD (policy ACCEPT) targetprot opt sourcedestination

REJECTall -- 0.0.0.0/00.0.0.0/0reject-with icmp-host-prohibited cần bỏ đi

Chain OUTPUT (policy ACCEPT) targetprot opt sourcedestination

[root@mydomain ~]# iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited [root@mydomain ~]# iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited [root@mydomain ~]# iptables -L -n

Chain INPUT (policy ACCEPT)

Chain FORWARD (policy ACCEPT) targetprot opt sourcedestination Chain OUTPUT (policy ACCEPT) targetprot opt sourcedestination

[root@outside ~]# ping -n 192.168.56.5 connect: Network is unreachable

Như vậy là máy outside bên ngoài mạng Intranet đã không thể kết nối đến một máy bên trong mạng Intranet với địa chỉ private của mạng Intranet này. Bước tiếp theo là thiết lập chức năng NAT trong Gateway để máy bên trong mang Intranet có thể kết nối với máy bên ngoài. Bật lại service iptables trên máy Gateway (do đã bị tắt đi trong bài trước). Đương nhiên, khi bật service này lên, máy hp.mydomain.vn không thể ping được đến máy outside. Lý do là iptables trên máy Gateway mặc định sử dụng một số luật để chặn kết nối này. Do vậy, ta cần hủy bỏ các luật chặn các gói tin này trên Gateway:

target prot opt source

ACCEPT all -- 0.0.0.0/0 destination

0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited  cần bỏ đi

target prot opt source

ACCEPT all -- 0.0.0.0/0 destination

0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

Bổ sung luật MASQUERADE vào table nat. Như đã mô tả bên trên, “masquerading”

(cải trang) là một tên gọi khác của chức năng NAT từ nhiều địa chỉ IP private vào 1 địa chỉ IP public. Khi thực hiện NAT, iptables luôn sử dụng địa chỉ IP mặt ngoài của Gateway để “cải trang” các địa chỉ IP private trong mạng Intranet:

Trang 120

[root@mydomain ~]# iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE [root@mydomain ~]# iptables -t nat -L -v

Chain PREROUTING (policy ACCEPT 46 packets, 5273 bytes) pktsbytestargetprotoptinoutsourcedestination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

pktsbytestargetprotoptinoutsource destination

pkts bytes target prot opt in out source destination

1 84 MASQUERADE all -- any eth2 anywhere anywhere

Sử dụng ping để kiểm tra kết nối giữa máy trong mạng Intranet hp.mydomain.vn và máy ngoài mạng Intranet outside, xem kết quả log file:

Kết nối đã chạy thông. Phân tích thêm các thông tin log có thể thấy máy hp.mydomain.vn gửi đi các gói tin ICMP type=8 từ địa chỉ 192.168.56.5 nhưng khi máy outside nhận được và trả về gói tin ICMP type=0 thì địa chỉ nguồn đã thay đổi thành 192.168.1.100. Đây chính là nhờ chức năng NAT trên Gateway đã được kích hoạt.

Một phần của tài liệu Bài giảng Thiết kế và cài đặt Mạng Intranet (Trang 126 - 131)

Tải bản đầy đủ (DOCX)

(385 trang)
w