Bài số 3: Qui hoạch Gateway cho mạng Intranet
Bài này yêu cầu qui hoạch Gateway cho 3 mạng LAN như hình vẽ bên trên. Ngoài ra, đối với LAN1, sử dụng DHCP để cấp địa chỉ IP động cho các trạm trong mạng. Các bước tiến hành như sau:
- Bước 1: Cấu hình router R1
- Bước 2: Cấu hình máy trạm cho LAN1
- Bước 3: Cấu hình router R2 và R3
- Bước 4: Cấu hình máy trạm cho LAN3
- Bước 5: Kiểm tra hệ thống
- Bước 6: Xử lý tình huống Redirect Host
Bước 1: Cấu hình router R1
Cấu hình địa chỉ IP cho các kết nối mạng của R1:
> ifconfig eth1 192.168.1.1/25 > ifconfig eth2 192.168.1.129/25 > ifconfig -a eth1 Link encap:Ethernet HWaddr 08:00:27:96:4A:E6 inet addr:192.168.1.1 Bcast:192.168.1.127 Mask:255.255.255.128 inet6 addr: fe80::a00:27ff:fe96:4ae6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:181 errors:0 dropped:0 overruns:0 frame:0 TX packets:30 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20910 (20.4 KiB) TX bytes:1928 (1.8 KiB) eth2 Link encap:Ethernet HWaddr 08:00:27:D7:D8:3E inet addr:192.168.1.129 Bcast:192.168.1.255 Mask:255.255.255.128 inet6 addr: fe80::a00:27ff:fed7:d83e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:199 errors:0 dropped:0 overruns:0 frame:0 TX packets:30 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:24412 (23.8 KiB) TX bytes:1928 (1.8 KiB)
Chú ý kiểm tra và bật chức năng “forward” của router R1 bằng tham số hệ thống net.ipv4.ip_forward:
Cấu hình DHCP server cho router R1 để cung cấp địa chỉ IP cho các trạm trong mạng LAN1, ngoài ra thiết lập cấu hình Default Gateway cũng là R1 luôn (địa chỉ 192.168.1.1/25) và khởi động lại dịch vụ DHCP trên R1:
> nano /etc/dhcp/dhcpd.conf subnet 192.168.1.0 netmask 255.255.255.128 { range 192.168.1.20 192.168.1.30; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option domain-name-servers 4.4.4.4,8.8.8.8; } > service dhcpd restart Starting dhcpd: [ OK ]
Cấu hình bảng routing cho router R1. Do tất cả các định tuyến gián tiếp từ R1 đến các mạng khác (gồm LAN3 và Internet) đều đi qua R2 tại địa chỉ 192.168.1.130 nên cấu hình routing của R1 như sau:
Bước 2: Cấu hình máy trạm cho LAN1
Các máy trạm của LAN1 có thể được cấu hình theo 2 cách tĩnh hoặc động. Với cấu hình tĩnh, sử dụng lệnh ifconfig hoặc cấu hình mặc định trong file cấu hình của card mạng /etc/sysconfig/network-scripts/ifcfg-eth1. Lưu ý rằng dải địa chỉ IP từ 192.168.1.20 đến 192.168.1.30 đã được đặt trước để DHCP server sử dụng và cung cấp cho các client. Vì vậy, khi cấu hình tĩnh cần tránh các địa chỉ này:
Với phương pháp cấu hình động, thiết lập file cấu hình /etc/sysconfig/network-scripts/ifcfg-eth1 để card mạng tự động nhận địa chỉ IP khi khởi động hoặc sử dụng lệnh dhclient để yêu cầu cấp địa chỉ IP (xem bài thực hành số 2):
Cuối cùng, kiểm tra cấu hình mạng trên các máy trạm bằng lệnh route -n. Địa chỉ mạng 0.0.0.0 đại diện cho các mạng bên ngoài và tương ứng với nó, default gateway được sử cấu hình là 192.168.1.1:
Bước 3: Cấu hình router R2 và R3
Cấu hình cho router R2 như sau:
> ifconfig eth1 192.168.1.130/25 > ifconfig eth2 192.168.2.1/24 ifconfig -a eth1 Link encap:Ethernet HWaddr 08:00:27:56:81:0C inet addr:192.168.1.130 Bcast:192.168.1.255 Mask:255.255.255.128 inet6 addr: fe80::a00:27ff:fe56:810c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1275 errors:0 dropped:0 overruns:0 frame:0 TX packets:607 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:126622 (123.6 KiB) TX bytes:91395 (89.2 KiB) eth2 Link encap:Ethernet HWaddr 08:00:27:C4:D5:BA inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fec4:d5ba/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:221 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:25373 (24.7 KiB) TX bytes:468 (468.0 b) > route add -net 192.168.1.0/25 gw 192.168.1.129 > route add -net 0.0.0.0/0 gw 192.168.2.2 > route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 192.168.1.129 255.255.255.128 UG 0 0 0 eth1 192.168.1.128 0.0.0.0 255.255.255.128 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 0.0.0.0 192.168.2.2 0.0.0.0 UG 0 0 0 eth2
Router R3 có một kết nối mạng ra Internet và một kết nối mạng nội bộ LAN3. Cấu hình máy ảo VirtualBox sử dụng card mạng NAT để kết nối Internet và card mạng Internal Network để kết nối mạng LAN3. Khi khởi động máy ảo, card NAT sẽ được tự động gán địa chỉ IP theo cấu hình NAT của Oracle VirtualBox, thông thường là 10.0.2.15 và Gateway ra Internet (chính là máy host Windows) có địa chỉ 10.0.2.2. Trường hợp card mạng này chưa được cấp địa chỉ IP thì có thể sử dụng lệnh dhclient -v để yêu cầu Virtual Box cấu hình địa chỉ IP cho nó. Với card mạng còn lại, cấu hình địa chỉ IP:
> ifconfig eth1 192.168.2.2/24 > ifconfig -a eth1 Link encap:Ethernet HWaddr 08:00:27:98:CA:2E inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe98:ca2e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:158 errors:0 dropped:0 overruns:0 frame:0 TX packets:45 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20307 (19.8 KiB) TX bytes:6399 (6.2 KiB) eth2 Link encap:Ethernet HWaddr 08:00:27:81:E6:AD inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe81:e6ad/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1580 (1.5 KiB) TX bytes:1684 (1.6 KiB) > ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=43 time=66.2 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=43 time=65.6 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=43 time=66.1 ms
Có thể thấy rằng router R3 đã được cấu hình tự động trên card mạng eth2 với địa chỉ 10.0.2.15 (đây là địa chỉ mặt ngoài của router R3). Sử dụng lệnh ping đến máy chủ DNS của Google (địa chỉ 8.8.8.8) để kiểm tra kết nối Internet. Cuối cùng, cần cấu hình bảng routing cho router R3. Cần bổ sung thêm 2 đường định tuyến đến LAN1 và LAN2. Ngoài ra, do được cấu hình NAT tự động, đường định tuyến mặc định ra Internet (0.0.0.0) đã được thêm vào từ trước với gateway là 10.0.2.2 (chính là máy host của Virtual Box):
Bước 4: Cấu hình máy trạm cho LAN3
Khác với LAN1, do không có DHCP server, các máy trạm của LAN3 chỉ có thể được cấu hình tĩnh. Có thể thiết lập thông số cấu hình mặc định cho trạm như trong bước 2, hoặc thiết lập tức thời như sau:
Bước 5: Kiểm tra hệ thống
Dùng lệnh ping để kiểm tra kết nối từ máy trạm trong LAN1 đến máy trạm trong LAN3. Lưu ý rằng vì lý do an ninh, iptables mặc định chặn tất cả các gói tin được chuyển tiếp qua và thông báo cho trạm gửi bằng một gói tin ICMP “Destination Host Prohibited”. Điều này thể hiện khi ping từ một trạm đến một trạm khác và nhận được thông báo lỗi:
Để xử lý vấn đề này, cần tắt chức năng chặn gói tin tại các router. Trên các router R1,R2,R3, hiển thị các luật iptables:
Có thể thấy ở chain FORWARD đang có một luật reject tất cả các gói tin và trả về bằng một gói tin ICMP. Cần bỏ luật này đi:
Sau khi bỏ luật này trên tất cả các router, trạm tại LAN1 sẽ ping thành công đến trạm LAN3. Cũng có thể hiển thị đường đi của gói tin giữa 2 trạm này bằng lệnh traceroute:
Bước 6: Xử lý tình huống Redirect Host
Một điều rất thú vị là khi đứng ở trạm trong mạng LAN3 và ping đến trạm mạng LAN1 thì thành công nhưng nhận được thêm thông tin Redirect Host:
Thông điệp được gửi về máy trạm từ địa chỉ 192.168.2.1 (là router R2). Lý do như sau. Khi gói tin gửi đi từ trạm trong LAN3, nó được chuyển đến Gateway của LAN3 là router R3. R3 kiểm tra bảng routing và chuyển tiếp gói tin đến R2. Tại đây, R2 kiểm tra gói tin có địa chỉ nguồn là 192.168.2.15, nằm cùng một mạng với một kết nối của mình (có địa chỉ 192.168.2.1). Như vậy, đã có tình huống định tuyến vòng, tức là gói tin đáng nhẽ có thể đi trực tiếp đến R2 từ trạm nguồn, nhưng thực tế nó đã phải đi qua một router khác (là R3). Điểm không hợp lý này đã được trình bày trong phần 3.1.2 khi lựa chọn R2 hay R3 là Gateway của LAN3. Giải pháp là các trạm trong LAN3 cần được cung cấp thêm một Gateway nữa (là R2). Khi gửi gói tin ra bên ngoài, trạm này nếu nhận được thông điệp Redirect Host từ R2 sẽ tự điều chỉnh để sử dụng sang Gateway này: