Bạn có thể sử dụng Linux để thực hiện định tuyến như một Router, cả định tuyến tĩnh và định tuyến động.
Trước tiên chúng ta sẽ cùng tìm hiểu định tuyến tĩnh trên CentOS. Thực hiện trên mô hình sau:
Hình 2.2-Sơđồ bài toán định tuyến
Hôm nay chúng ta sẽ thực hiện trên 4 máy là R1, R2, Server1 và PC C2 (máy C2 chạy Ubuntu).
Bước đầu tiên, đặt IP tương ứng cho mỗi thiết bị, sau đó xem bảng định tuyến trên R1,R2
Hình 2.4-Thông tin định tuyến trên các card mạng R2
Xem thông tin card mạng eth2 bằng lệnh ifconfig
Hình 2.5-Lệnh ifconfig trên card mạng eth2
Dùng lệnh route -n trên máy Ubuntu để xem bảng tịnh tuyến của Client, qua đó ta xác định được default gateway mà máy Ubuntu sẽđi ra ngoài mạng
Hình 2.6-Thông tin bảng định tuyến trên Ubuntu
Như các bạn thấy, lúc này PC C2 không thể kết nối đến Server1. Lý do đơn giản là vì R1 chưa có route đến mạng 192.168.10.0/24. Kiểm tra bảng route trên R1.
Hình 2.7-Thông tin bảng định tuyến R1 chưa thấy Destination 192.168.10.0/24
Trên R1 chỉ có 2 mạng connected với nó là 192.168.12.0/24 và 192.168.20.0/24. Không có route nào cho mạng 192.168.10.0/24.
Trước khi tiến hành thêm route bạn nhớ phải enable routing. Sửa file /etc/sysctl.config
# vi /etc/sysctl.conf
Hình 2.8-Chuyển Control packet forwarding
Khoá IPv6 theo 2 dòng trong khung màu xanh trong hình trên:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Ý nghĩa: hai dòng này được thêm vào để hệ thống không phải hiện ipv6 ra khi bạn xem IP, không có cũng được.
Ta tiến hành thêm route này vào, bạn có thể sử dụng câu lệnh
#ip route add 192.168.10.0/24 via 192.168.12.2
hoặc
#route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.12.2
Dưới đây mình sử dụng cách 1: cho ngắn gọn
Hình 2.9-Lệnh thêm một định tuyến
Mà có route đi thì phải có route về, lên R2 add thêm cái route về mạng 192.168.20.0/24 nữa là xong.
Trên R2 không sử dụng câu lệnh để add route mà tạo thêm 1 file để route:
#vi /etc/sysconfig/network-scripts/route-eth1
Nội dung của file này như sau:
192.168.20.0/24 via 192.168.12.1
Sau khi add xong thì khởi động lại service network:
# service network restart
Kiểm tra bảng định tuyến R2:
Hình 2.10-Thông tin định tuyến trên các card mạng R2
Ping từ PC C2:
Hình 2.11-Kiểm tra liên lạc 2 mạng bằng lệnh ping từ máy .200
Ping từ server01:
Hình 2.12-Kiểm tra liên lạc 2 mạng bằng lệnh ping từ máy .100
Nhận xét:
–Đểđịnh tuyến trong linux, bạn phải enable tính năng IP packet forwarding ở file /etc/sysctl.conf
– Câu lệnh kiểm tra route
# route -n # ip route # netstat -nr
Để thêm route, bạn có 2 cách, sử dụng lệnh hoặc tạo file route. (Theo mình nên tạo file nếu dùng lệnh route add thì sẽ mất khi khởi động lại máy)