- Tiến trình quản lý dịch vụ mạng – xinetd
Red Hat Linux sử dụng xinetd (Extended Internet Services Daemon) để quản lý nhiều dịch vụ mạng cơ sở như Finger, IMAP, Telnet, …
Tập tin cấu hình của xinetd là /etc/xinetd.conf.
Cấu hình cho mỗi dịch vụ mà xinetd quả lý được đặt trong các tập tin riêng lẻ ở trong thư mục /etc/xinetd.d
Để bật tắt một dịch vụ do xinetd quản lý, ta chỉ cần sửa tập tin cấu hình của nó trong thư mục /etc/xinetd.d/. Nếu thuộc tính Disable được gán bằng Yes, dịch vụ sẽ bị tắt và ngược lại.
Để bật tắt hay khởi động xinetd, ta sử dụng script khởi động trong thư mục /etc/rc.d/initd.d như sau:
/etc/ rc.d/initd.dxinetd restart | stop | start
- Các tập tin cấu hình cơ bản và khởi động dịch vụ mạng
Cấu hình một mạng TCP/IP trên hệ thống linux được thực hiện bằng cách sử dụng một tập hợp các tập tin cấu hình mạng nằm trong thư mục /etc và /etc/sysconfig/. Những tập tin này xác định các thông tin về mạng như tên máy, tên miền, địa chỉ IP, …
RH sử dụng một số tập tin cấu hình cơ bản như:
/etc/sysconfig/network à có chứa các khai báo của hệ thống về một số thông tin cơ bản về trạng thái mạng, được khởi nạp khi hệ thống khởi động. bao gồm: tên máy, GW, …
/etc/sysconfig/network-scripts/ifcfg-eth0 à chứa tập tin khởi động giao tiếp mạng eth0.
/etc/sysconfig/static-routes à chứa thông tin về định tuyến cho các gói tin trên mạng.
Khởi nạp lại thông tin cấu hình mạng:
Sau khi đã có sự thay đổi trong các script, ta cần thông báo lại cho nhân hệ điều hành biết được những sự thay đổi này bằng cách thi hành script sau:
/etc/rc.d/init.d/network restart | start | stop
- Cấu hình giao tiếp mạng
*Cơ sở cài đặt phần cứng
RH Linux có các trình điều khiển thiết bị cho nhiều kiểu card mạng khác nhau, được lưu trong thư mục /lib/modules/2.4.20-8/kernel/drivers/net (trong đó 2.4.20-8 là phiên bản của kernel).
Để phát hiện và cấu hình một thiết bị phần cứng mới hay được thay đổi, ta sử dụng lệnh kudzu. Khi hệ thống khởi động, kudzu phát hiện các phần cứng hiện có và kiểm tra nó dựa trên cơ sở dữ liệu lưu trong tập tin /etc/sysconfig/hwconfig. Nếu tập tin /etc/sysconfig/hwconfig không tồn tại, kudzu thực hiện xác định những thiết bị nào đó đã được cấu hình, bằng cách đọc thông tin trong các tập tin /etc/modules.conf, /etc/sysconfig/network-script/
Tên của một số giao tiếp mạng trong RH linux được định nghĩa như sau:
lo: giao tiếp mạng looback
eth0, eth1, … : đây là tên của giao tiếp mạng, được sử dụng hầu hết cho các card mạng ethernet.
*Cấu hình giao tiếp mạng – lệnh ifconfig
Mỗi giao tiếp mạng được cấu hình trên hệ thống linux thường có 1 tập tin script khởi động nằm trong thư mục /etc/sysconfig/network-scripts/. Thí dụ: card mạng thứ nhất (eth0) có tập tin script tương ứng là ifcfg-eth0.
Lệnh ifconfig là chương trình tiện ích trong hệ thống linux, được sử dụng để hiện thị thông tin và cấu hình các giao tiếp mạng trên hệ thống linux.
Một số tham số trong lệnh ifconfig
Address địa chỉ ip gán cho giao tiếp mạng
Netmask khai báo subnet mask cho giao tiếp mạng
Up kích hoạt giao tiếp mạng interface được chỉ ra
Down tắt giao tiếp mạng interface được chỉ ra
Irq addr khai báo địa chỉ ngắt mà card mạng sử dụng
Io_addr addr khai báo địa chỉ cổng mà card mạng sử dụng
Có 2 chế độ hoạt động của lệnh ifconfig
- Chế độ thông báo: hiển thị các thông tin về tham số hoạt động của các thiết bị mạng đã được cài đặt và cấu hình.
Cú pháp: ifconfig [interface]
- Chế độ cấu hình:
Cú pháp: ifconfig interface [aftype] options | address …
Chú ý: trong trường hợp thay đổi địa chị card mạng bằng lệnh ifconfig thì khi khởi động lại máy hay khi khởi động lại dịch vụ mạng, địa chỉ card mạng sẽ được gán lại theo các thông số được khai báo trong tập tin cấu hình giao tiếp mạng. (trong thu mục /etc/sysconfig/network-scripts)
Vd: lệnh sau đây sẽ gán địa chỉ ip 192.168.1.56 cho giao tiếp mạng thứ hai (eth1) và kích hoạt card mạng này
# ifconfig eth1 192.168.1.56 netmask 255.255.255.0 up
Để tắt giao tiếp card mạng eth0, ta thực hiện
# ifconfig eth0 down
Để cấu hình cho card mạng eth0 sử dụng ngắt 9 cổng 310, ta thi hành lệnh:
# ifconfig eth0 irq 9 io_addr 0x310
*Script khởi động giao tiếp mạng
Các hệ thống linux đều có 1 thư mục /etc/sysconfig/ chứa đựng các tập tin cấu hình để khởi động mạng một cách tự động
Nội dung cơ bản của script này bao gồm các khai báo sau:
DEVICE=name Tên giao tiếp mạng
IPADDR=address Địa chỉ ip
NETMASK=mask Netmask của giao tiếp địa chỉ ip
GATEWAY=ip_address Địa chỉ gateway mà card mạng ket noi
ONBOOT=yes|no onboot= yes thì mỗi lần dịch vụ mạng khởi động, giao tiếp mạng sẽ được kích hoạt và ngược lại
BOOTPROTO=static|dhcp BOOTPROTO=static, giao tiếp mạng nhận ip, netmask của script. Nếu BOOTPROTO=dhcp thì giao tiếp mạng nhập ip từ dhcp server
Vd: một khai báo cho giao tiếp mạng đầu tiên, trong script của nó:
DEVICE=
IPADDR=
NETMASK=
GATEWAY=
ONBOOT=
BOOTPROTO=
*Khai báo nhiều ip cho 1 card mạng
Cú pháp:
# ifconfig interfacename:clonename
Vd:
# ifconfig eth0:0 192.168.1.2
# ifconfig eth0:1 192.168.1.200
- Định tuyến
*Default Gateway
Để chỉ ra default gateway, ta mở tập tin /etc/sysconfig/network và bổ sung thêm dòng.
GATEWAY=ip_address
Ta cũng có thể khai báo Default Gateway trong tập tin script khởi động giao tiếp mạng.
Trong trường hợp hệ thống ta có 2 card mạng trở lên ta cần bật chức năng chuyễn tiếp gói tin để các gói tin có thể được chuyển tiếp giữa các card mạng (mặc định hệ thống kh bật chức năng này). Thi hành một trong các cách sau để bật chức năng này:
Thi hành lệnh sau để bật chức năng:
echo 1 > /proc/sys/net/ipv4/ip_forward
Khai báo trong tập tin /etc/sysctl.conf mục từ sau (để có hiệu lực mỗi khi khởi động lại máy)
net.ipv4.ip_forward=1
*Định tuyến – routing
Để thiết lập đường dẫn tĩnh ta sử dụng lệnh route, hay khai báo trong tập tin /etc/sysconfig/static-routes. Việc thực hiện dẫn đường rất quan trọng trong trường hợp máy tính đóng vai trò là default gateway
Để xem bảng định tuyến ta sữ dụng lệnh route không tham số.
Dùng cú pháp lệnh sau để ta thêm hay delete trong bảng định tuyến.
Route add [-net|-host] target [netmask Nm] [gw Gw]
Route
Trong đó:
add bổ sung thêm tuyến đường vào bảng định tuyến
-net khai báo định tuyến tới mạng đích
-host khai báo định tuyến tới máy đích
target là địa chỉ của mạng hay máy cần thực hiện định tuyến
netmask Nm khai báo netmask của mạng(target)/máy cần thực hiện định tuyến
gw Gw Ip của Gateway thực hiện xử lý chuyển tiếp các gói tin.
Vd: để thêm một đường dẫn chỉ ra các gói tin được chuyển đến mạng 192.168.10.0/24 sẽ đi qua gateway 172.16.10.1, ta thực hiện lệnh sau:
# route add –net 192.16.10.0 netmask 255.255.255.0 gw 172.16.10.1
Script quản lý các route là /etc/sysconfig/static-routes, mỗi dòng trong nó chứa một khai báo tuyến đường tĩnh với định dạng như sau:
Device net network netmask netmask gw gateway.
Chú ý: divice có thể là any, khi đó nó đại diện cho all các giao tiếp mạng
- Một số tiện ích theo dõi mạng và đăng nhập từ xa.
*ping: sử dụng giao thức ICMP, lệnh ping liên tục gởi 1 gói tin ICMP tới máy đích. Muốn dừng ta nhấn Ctrl+C.
Cú pháp: ping host (host – là địa chỉ ip hay tên máy)
*traceroute: Cho biết đường đi tới máy tính có thông hay không.
Cú pháp: traceroute host (host – là địa chỉ ip hay tên máy)
*netstat: là tập hợp của nhiều công cụ được kết hợp lại với nhau, cung cấp thông tin theo thời gian thực về trạng thái của các kết nối mạng.
Cú pháp:
netstat [options]
Các lựa chọn:
-t Hiển thị các thông tin các kết nối TCP socket
-u Hiển thị các thông tin các kết nối UCP socket
-i Hiển thị các thông tin tất cả các giao tiếp mạng
-a Hiển thị thông tin các kết nối của tất cả các internet socket
-r Hiển thị bảng dẫn đường
-n Không thực hiện chuyển đổi địa chỉ ip thành tên
-c Thực hiện cập nhật liên tục trạng thái.
Ví dụ:
*tcpdump: Nó có thể theo dõi tất cả các gói tin được gửi broadcast trên mạng.
Cú pháp:
tcpdump [options]
Các lựa chọn:
-i if Chỉ thu thập các giao tác đi qua giao tiếp mạng if. Nếu kh có option này, lệnh tcpdump sẽ lắng nghe trên all các giao tiếp mạng
host host Chỉ thực hiện thu thập các giao tác liên quan đến máy tính có ip/tên là host
net net Chỉ thực hiện thu thập các giao tác liên quan đến mạng có địa chỉ net
port port Chỉ thực hiện thu thập các giao tác được thực hiện trên cổng port
-t Không in ra nhãn thời gian tại mỗi dòng của kết quả xuất
-n Kh thực hiện chuyển đổi dc máy thành tên ở kết quả xuất
-N Kh thực hiện xuất ra tên miền đầy đủ của các tên máy.
Vd:
*Đăng nhập từ xa: Trên RH linux hổ trợ 2 chương trình (telnet và ssh) cho phép đăng nhập từ xa vào một máy khác để thi hành lệnh trên máy từ xa đó.
Cú pháp:
ssh username@hostname
vd:
*who, w, finger
Lệnh who, w, finger cung cấp thông tin về các người dùng đang đăng nhập hệ thống.