lab linux
TRANSCRIPT
Cấu hình định tuyến tĩnh trong Linux
Trong bài này, mình sẽ trình bày cách cấu hình định tuyến tĩnh trên Linux. Hệ điều hành sử dụng là CentOS 5.5. Mô hình sử dụng như sau:
I/ Cấu hình IP:Cấu hình IP trên máy làm Router gồm có 2 Card là eth1 và eth0. Card eth1 nối với router kế tiếp, card eth0 nối với mạng bên trong.Cấu hình IP của máy làm Router 1:
Cấu hình IP của máy làm Router 2:
Các máy thuộc mạng bên trong có một card mạng eth0. Nối trực tiếp với Router và trỏ Default Gateway về IP của Router được nối.
Cấu hình IP của máy thuộc mạng 127.16.2.0/24
Cấu hình IP của máy thuộc mạng 172.16.3.0/24
Tiến hành kiểm tra sự liên lạc giữa 2 máy thuộcmạng 172.16.2.2/24 và 172.16.3.2/24 bằng lệnh ping.Kết quả: Destination Net Unreachable => Từ máy này ko thể tới được máy kia.Kết quả ping từ máy 172.16.3.2
Kết quả ping từ máy 172.16.2.2
Để các máy khác mạng có thể liên lạc được với nhau, ta cần cấu hình định tuyến!II - Tiến hành cấu hình Static Route:Ta xem qua nội dung bảng Routing của các máy làm router ở thời điểm hiện tại.Bảng Routing của máy 172.16.1.1
Bảng Routing của máy 172.16.1.2
Các bảng Routing trên không hề chứa các đường route tới các mạng khác => 2 máy nêu ở trên không liên lạc được với nhau.
Trước khi đi vào cấu hình Routing, trên 2 máy làm Router mở file sysctl.confvi /etc/sysctl.confGiá trị net.ipv4.ip_forward = 0 đổi thành net.ipv4.ip_forward = 1=> Lưu lại file.
Để cấu hình Route, ta có thể sử dụng lệnh Route add hoặc cấu hình trực tiếp bằng file. Ở đây mình sẽ cấu hình trên file.
Trên máy Router, vào /etc/sysconfig/network-scripts/ và tạo file với cách đặt tên là route-ethX với X là số hiệu của Card hướng ra mạng kế tiếp.Ví dụ:Trên máy Router 172.16.1.1 có nội dung file route-eth1 như sau172.16.3.0/24 via 172.16.1.2 dev eth1Ở dòng trên:
172.16.3.0/24 là mạng cần đi tới 172.16.1.2 là địa chỉ IP của Router kế tiếp (Next hop) eth1 là Card hướng ra Router kế tiếp đó
Sau khi cấu hình file 172.16.1.1 xong, tiến hành khởi động lại dịch vụ mạngservice network restart
Bây giờ kiểm tra lại bảng định tuyến của máy Router 172.16.1.1 đã có đường mạng 172.16.3.0/24
Tương tự trên máy Router 172.16.1.2 ta cũng thêm 1 file mới là route-eth1 với nội dung172.16.2.0/24 via 172.16.1.1 dev eth1Khởi động lại dịch vụ mạng và kiểm tra bảng định tuyến máy Router 172.16.1.2
Cấu hình định tuyến tĩnh như vậy là xong. Thử kiểm tra lại kết nối giữa 2 máy 172.16.2.2 và 172.16.3.2 bằng lệnh ping sẽ có kết quả như hình dưới.
Định tuyến động trong Linux sử dụng RIP
Trong bài trước, mình đã trình bày cách cấu hình định tuyến tĩnh trên Linux sử dụng hệ điều hành CentOS. Trong bài này, trình bày các cách cấu hình định tuyến động. Bài đầu tiên sẽ là định tuyến động sử dụng Routing Information Protocol (RIP) .I - Về RIP:RIP là giao thức định tuyến vector khoảng cách điển hình, đăng gửi toàn bộ routing table ra tất cả các active interface đều đặn theo chu kỳ là 30 giây. RIP chỉ sử dụng metric là hop count để tính ra tuyến đường tốt nhất tới remote network. Thuật toán màRIP sử dụng để xây dựng nên routing table là Bellman-Ford.
II – Mô hình:Mình sử dụng lại mô hình của bài định tuyến tĩnh ở bài trước. Trong này sẽ có 4 máy chạy hệ điều hành CentOS. Các máy có Card mạng và IP như hình bên dưới.
Như ta thấy, 2 máy tính có IP là 172.16.3.2 và 172.16.2.2 khác mạng nên chúng không liên lạc được với nhau!. Chúng ta sẽ tiến hành cấu hình định tuyế trên 2 máy CentOS còn lại, đóng vai trò là Router.III – Cài đặt phần mềm định tuyến:Về Quagga:Quagga là gói phần mềm định tuyến chạy trên các hệ điều hành Linux hỗ trợ các giao thức định tuyến như RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, và BGP-4+. Quagga hỗ trợ định tuyến tốt cả trên nền IPv4 lẫn IPv6 . Quagga thực ra là phiên bản được ”kế thừa” từ Zebra đã ngưng phát triển từ lâu! .Cài đặt Quagga:Bạn có thể download Quagga 0.99.17 tại đây:http://centos.alt.ru/pub/quagga/0.99.17/RHEL/RPMS/i386/quagga-0.99.17-1.el5.i386.rpm
Sau khi tải về xong, sử dụng lệnh để cài đặt nó:
rpm –ivh quagga-0.99.17-1.el5.i386.rpm
IV – Cấu hình định tuyến:Mặc định, các file cấu hình định tuyến của Quagga sẽ được chứa ở thư mục /etc/quagga/. Đầu tiên chúng ta sẽ cấu hình file zebra.confGõ lệnh:vi /etc/quagga/zebra.confThiết đặt file có nội dung như sau:hostname khanh.com.vn password zebra enable password zebraTrong đó, zebra chính là mật khẩu!.Tiến hành lưu lại file zebra.conf và khởi động dịch vụ zebra:service zebra startTiếp tục, ta sử dụng Telnet để cấu hình IP và định tuyến.
Gõ lệnh kết nối và đăng nhập với mật khẩu “zebra” đã tạo ở trên. Gõ lệnh:
telnet 127.0.0.1 2601
Sau khi đăng nhập thành công. Tiến hành cấu hình IP như hình dưới đây. Với 172.16.2.1/24 và 172.16.1.1/24 lần lượt là IP của 2 card eth0 và eth1 của máy CentOS làm Router.
Sau khi cấu hình IP xong, khởi động lại dịch vụ zebra:
service zebra restartChú ý: Nếu trong quá trình lưu file zebra.conf gặp lỗi Can't open configuration file /etc/zebra/zebra.conf thì bạn làm như sau:vi /etc/selinux/configĐổi SENLINUX=enforcing thành SELINUX=permissive => Khởi động lại máy.
Tiếp tục ta tiến hành cấu hình định tuyến RIP. Gõ lệnhvi /etc/quagga/ripd.confLưu file trên với nội dung như sau:
hostname khanh.com.vn-rip password zebra enable password zebraSau đó khởi động dịch vụ ripd:service ripd start
Tiến hành telnet vào cổng 2602 (không phải 2601 như trên đâu nhé )
Đăng nhập thành công. Tiến hành cấu hình định tuyến RIP như hình dưới đây. Với 172.16.1.0/24 và 172.16.2.0/24là địa chỉ mạng mà máy CentOS làm Router đang kết nối trực tiếp tới.
Tiến hành khởi động lại dịch vụ ripd
service ripd restartVậy là đã cấu hình xong trên máy Router thứ 1. Ở máy Router thứ 2 ta thiết lập hoàn toàn tương tự Sau khi cấu hình file zebra.conf như ở trên xong. Tiến hành telnet vào cổng 2601
Thiết đặt IP các card eth0 và eth1
Tương tự, ta tiếp tục cấu hình nội dung file ripd.conf như ở máy Router 1. Sau đó khởi động dịch vụ ripd
Tiến hành telnet vào cổng 2602
Khai báo các mạng mà máy Router 2 kết nối trực tiếp tới.
Sau khi cấu hình định tuyến trên 2 máy Router xong. Tiến hành kiểm tra lại bảng định tuyến của 2 máy Router này. Nếu cấu hình thành công thì trong bảng định tuyến ta sẽ có đường NET nhưng hình bên dưới.
Chú ý: Trong RIP thì cứ 30s Router sẽ cập nhật lại nội dung bảng định tuyến .OK. Bây giờ kiểm tra kết nối giữa 2 máy 172.16.2.2 và 172.16.3.2
Định tuyến động trong Linux sử dụng OSPF
Trong bài trước, mình đã trình bày cách định tuyến động trong Linux sử dụng RIP . Tiếp tục với định tuyến động, trong bài này mình sẽ trình bày cách cấu hình định tuyến động trên Linux sử dụng Open Shortest Path First (OSPF).
I – Về OSPF:OSPF là giao thức định tuyến dạng Link-Sate dựa trên chuẩn được phát triển để thay thế các phương thức Distance Vector (RIP sử dụng). OSPF phù hợp với các mạng lớn, có khả năng mở rộng, không xảy ra loop trong mạng.Các ưu điểm của OSPF:
Tốc độ hội tụ nhanh. Hỗ trợ mạng con (VLSM). Có thể áp dụng cho mạng lớp. Chọn đường theo trạng thái đường link hiệu quả hơn Distance Vector. Chọn đường đi linh họat hơn. Hỗ trợ xác thực (Authenticate).
II – Mô hình:Mình sử dụng lại mô hình của bài định tuyến trước. Trong này sẽ có 4 máy chạy hệ điều hành CentOS. Các máy có Card mạng và IP như hình bên dưới.
Như ta thấy, 2 máy tính có IP là 172.16.3.2 và 172.16.2.2 khác mạng nên chúng không liên lạc được với nhau!. Chúng ta sẽ tiến hành cấu hình định tuyế trên 2 máy CentOS còn lại, đóng vai trò là Router.III – Cài đặt phần mềm định tuyến:Về Quagga:Quagga là gói phần mềm định tuyến chạy trên các hệ điều hành Linux hỗ trợ các giao thức định tuyến như RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, và BGP-4+. Quagga hỗ trợ định tuyến tốt cả trên nền IPv4 lẫn IPv6 . Quagga thực ra là phiên bản được ”kế thừa” từ Zebra đã ngưng phát triển từ lâu! .Cài đặt Quagga:Bạn có thể download Quagga 0.99.17 tại đây:http://centos.alt.ru/pub/quagga/0.99.17/RHEL/RPMS/i386/quagga-0.99.17-1.el5.i386.rpm
Sau khi tải về xong, sử dụng lệnh để cài đặt nó:
rpm –ivh quagga-0.99.17-1.el5.i386.rpm
IV – Cấu hình định tuyến:Mặc định, các file cấu hình định tuyến của Quagga sẽ được chứa ở thư mục /etc/quagga/. Đầu tiên chúng ta sẽ cấu hình file zebra.confGõ lệnh:vi /etc/quagga/zebra.confThiết đặt file có nội dung như sau:hostname khanh.com.vn password zebra enable password zebraTrong đó, zebra chính là mật khẩu!.Tiến hành lưu lại file zebra.conf và khởi động dịch vụ zebra:service zebra startTiếp tục, ta sử dụng Telnet để cấu hình IP và định tuyến.
Gõ lệnh kết nối và đăng nhập với mật khẩu “zebra” đã tạo ở trên. Gõ lệnh:
telnet 127.0.0.1 2601
Sau khi đăng nhập thành công. Tiến hành cấu hình IP như hình dưới đây. Với 172.16.2.1/24 và 172.16.1.1/24 lần lượt là IP của 2 card eth0 và eth1 của máy CentOS làm Router.
Sau khi cấu hình IP xong, khởi động lại dịch vụ zebra:
service zebra restartChú ý: Nếu trong quá trình lưu file zebra.conf gặp lỗi Can't open configuration file /etc/zebra/zebra.conf thì bạn làm như sau:vi /etc/selinux/configĐổi SENLINUX=enforcing thành SELINUX=permissive => Khởi động lại máy. - Tiếp tục, ta tiến hành cấu hình định tuyến động sử dụng OSPF:vi /etc/quagga/ospfd.confLưu file trên với nội dung như sau:
hostname khanh.com.vn-ospfpassword zebra enable password zebra
Sau đó khởi động dịch vụ ospfd:service ospfd startTiến hành telnet vào cổng 2604
Đăng nhập thành công. Tiến hành cấu hình định tuyến RIP như hình dưới đây. Với 172.16.1.0/24 và 172.16.2.0/24là địa chỉ mạng mà máy CentOS làm Router đang kết nối trực tiếp tới. Sử dụng area 0
Vậy là đã cấu hình xong trên máy Router thứ 1. Ở máy Router thứ 2 ta thiết lập hoàn toàn tương tự .Trên máy Router 2. Sau khi cấu hình file zebra.conf như ở trên xong. Tiến hành telnet vào cổng 2601
Thiết đặt IP các card eth0 và eth1
Tương tự, ta tiếp tục cấu hình nội dung file ospfd.conf như ở máy Router 1. Sau đó khởi động dịch vụ ospfd.confservice ospfd startTiến hành telnet vào cổng 2604
Khai báo các mạng mà máy Router 2 kết nối trực tiếp tới.
Sau khi cấu hình định tuyến trên 2 máy Router xong. Tiến hành kiểm tra lại bảng định tuyến của 2 máy Router này. Nếu cấu hình thành công thì trong bảng định tuyến ta sẽ có đường NET nhưng hình bên dưới.
OK. Bây giờ kiểm tra kết nối giữa 2 máy 172.16.2.2 và 172.16.3.2
Lab Linux – Network Information Service – NISNIS là một dịch vụ cho phép chứng thực user tập trung.
Một vài đặc điểm đáng chú ý như sau:
- CSDL user lưu trên NIS server theo cấu trúc phẳng, tức là không có OU
- Quá trình chứng thực user không được mã hóa.
Xem thêm thông tin và hướng dẫn NIS bằng tiếng anh tại địa chỉ http://www.tldp.org/HOWTO/NIS-HOWTO/Mô hình 2 máy, một máy là NIS server có ip là 192.168.9.117 và một máy client có ip là 192.168.9.217. Máy NIS server sẽ chứng thực cho các user đăng nhập qua những máy client.
1. Cài đặt
Step 1: Cài đặt gói ypserv-2.19-5 có trong đĩa DVD CentOSStep 2: Khai báo nis domainMở file /etc/sysconfig/network thêm vào một dòng sau đây vào cuối file:NISDOMAIN =”youdomain.com”
Trong đó yourdomain.com là tên domain của bạn.
Mở file /etc/yp.conf Thêm dòng cuối vàoypserver 127.0.0.1
Tại đây tham số 127.0.0.1 cho phép user log tại máy chủ NIS, tức là khi user log on tại máy chủ thì nó dùng máy chủ là chính nó để logon.
Tiếp tục bạn khởi động các dịch vụ sau:
[root@may1 ~]# service ypserv start[root@may1 ~]# service yppasswdd start[root@may1 ~]# chkconfig ypserv on[root@may1 ~]# chkconfig yppasswdd on
Gõ lệnh rpcinfo -p localhost để xem các port đã đăng ký.
[root@may1 ~]# rpcinfo -p localhostprogram vers proto port100000 2 tcp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 712 status100024 1 tcp 715 status100004 2 udp 780 ypserv100004 1 udp 780 ypserv100004 2 tcp 783 ypserv100004 1 tcp 783 ypserv100009 1 udp 793 yppasswdd
Khởi tạo NIS Domain, gõ lệnh sau:
/usr/lib/yp/ypinit -m
Chương trình tìm thấy 1 máy đã làm NIS Server, nó hỏi chúng ta có thêm một máy chủ khác thành NIS server hay không. Bấm Ctrl-D để thoát, tức là chỉ có 1 máy hiện tại là NIS server.Chương trình đã xây dựng cho chúng ta một loạt các file là database, chứa trong đường dẫn/var/yp/nhatnghe17.com/[root@may1 ~]# ls /var/yp/nhatnghe17.com/group.bygid hosts.byaddr mail.aliases passwd.byname protocols.byname rpc.byname services.byname ypserversgroup.byname hosts.byname netid.byname passwd.byuid protocols.bynumber rpc.bynumber services.byservicename
Khởi động dịch vụ ypbind, dịch vụ này dùng cho Client, vì máy server cũng chính là client, và tất nhiên những máy client khác cũng sẽ được cài dịch vụ này.
[root@may1 ~]# service ypbind startBinding to the NIS domain: [ OK ]Listening for an NIS domain server..
2. Quản lý user
Đầu tiên bạn tạo ra các user theo cách thông thường, tức dùng lệnh useradd. Ví dụ tạo 3 user: nv1, nv2, nv3
Sau đó chuyển qua thư mục /var/yp. Gõ tiếp lệnh make để chương trình cập nhật là database.
[root@may1 ~]# cd /var/yp/[root@may1 yp]# makegmake[1]: Entering directory `/var/yp/nhatnghe17.com’Updating passwd.byname…Updating passwd.byuid…Updating group.byname…Updating group.bygid…Updating netid.byname…gmake[1]: Leaving directory `/var/yp/nhatnghe17.com’
Để xem danh sách các user đã được cập nhật hay chưa dùng lệnh ypcat passwd
[root@may1 yp]# ypcat passwdnv2:$1$y0MEmjWO$akc8Zj1fX6t9H96aJzhLQ/:501:501::/home/nv2:/bin/bashnv3:$1$aRmYjNfH$yts1wHcjE2roloK9S39nN0:502:502::/home/nv3:/bin/bashnv1:$1$lfqZedO1$a0bulwCC/BQjrILWgi8gV/:500:500::/home/nv1:/bin/bash
3. Cấu hình cho client logon vào
Trên máy 2 thực hiện cấu hình theo các bước.
Sau đó kiểm tra lại bằng cách mở file /etc/yp.conf bạn sẽ tìm thấy dòng cuối cùng làdomain nhatnghe17.com server 192.168.9.117Trong file /etc/sysconfig/network, bạn cũng tìm thấy dòng NISDOMAIN=”nhatnghe17.com”Mở tiếp file: /etc/nsswitch.conf Tìm dòng 33,34,35 có nội dung như sau:passwd: files nisshadow: files nisgroup: files nis
Đây là các dòng khai báo thứ tự chứng thực. Với một user, có thể nó đang tồn tại ở cả hai nơi, local và domain. Vậy thì đường nào được ưu tiên chứng thực trước. Theo như các
dòng trên, thì chứng thực local sẽ được ưu tiên trước, và chứng thực nis ưu tiên sau. Bạn có thể đổi lại thứ tự này.
Để chứng thực được, phải khởi động dịch vụ ypbind[root@localhost ~]# service ypbind start
Sau đó thử dùng máy 2 để logon thử vào NIS server. dấu nhắc lệnh có dạng -Bash-3.2$ đều này có nghĩa là nv1 sau khi logon vào hệ thống vẫn chưa sử dụng được nhiều lệnh shell. Và dấu nhắc này cũng cho biết thư mục cá nhân của user này đang nằm trên máy chủ.
4. Triển khai thư mục cá nhân cho mỗi user về máy cục bộ
Chúng ta sẽ triển khai dịch vụ auto mount để tự động mount thư mục cá nhân tên NIS server về máy client, khi user logon. Gói cài đặt càn thiết là NFS, bạn có thể xem bài trước để biết cách cài dịch vụ này.
Trên máy NIS server:
Mở file /etc/exports thêm dòng /home * (rw,sync) Sau đó khởi động dịch vụ nfs bằng lệnh service nfs startTrên máy client:
Mở file /etc/auto.master, thêm vào dòng cuối cùng/home /etc/auto.home –timeout 300
Tạo mới file /etc/auto.home có nội dung sau:* -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 192.168.9.17:/home/&
Khởi động lại dịch vụ autofs bằng lệnh service autofs restart Lúc này logon vào máy 2 sẽ thấy thư mục cá nhân của mỗi user.