1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
集線器:集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離 網橋:是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道, 不是共享一條背板總線,可隔離沖突域。網橋比集線器性能更好 二層交換機:工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。二層交換技術的發展已經 比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發, 并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。 三層交換機:三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內 部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。對于數據包 轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能, 由軟件實現 路由器:是連接因特網中各局域網、廣域網的設備,又稱網關設備(Gateway)是用于連接多個邏輯上分開的 網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時, 可通過路由器的路由功能來完成
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
類別 IP地址范圍 私有IP地址范圍 默認子網掩碼 A 0.0.0.0-127.255.255.255 10.0.0.0-10.255.255.255 255.0.0.0 B 128.0.0.0-191.255.255.255 172.16.0.0-172.31.255.255 255.255.0.0 C 192.0.0.0-223.255.255.255 192.168.0.0-192.168.255.255 255.255.255.0 D 224.0.0.0-239.255.255.255 子網掩碼的作用:子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:4E:93:F1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.1.181 GATEWAY=192.168.1.1 DNS1=202.96.134.133 DNS2=8.8.8.8 service network restart
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
1.修改配置文件方式(永久有效) vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存 2.命令行方式(當前有效) 使用 ip,route命令指定ip地址,默認網關 3.圖形界面方式 使用 setup 命令進入tui界面配置,或者是 system-config-network-tui
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash # for i in {1..254};do ping -c 1 -w 1 "192.168.1.$i" > /dev/null if [ $? -eq 0 ];then echo -e "\033[0;32;1m 172.16.250.$i is up \033[0m" else echo -e "\033[0;31;1m 172.16.250.$i is down \033[0m" fi done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
DEVICE:此配置文件對應的設備的名稱; ONBOOT:在系統引導過程中,是否激活此接口; UUID:此設備的惟一標識; IPV6INIT:是否初始化IPv6; BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有dhcp、bootp、static、none; TYPE:接口類型,常見的有Ethernet, Bridge; DNS1:第一DNS服務器指向; DNS2:備用DNS服務器指向; DOMAIN:DNS搜索域; IPADDR: IP地址; NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼; GATEWAY:默認網關; USERCTL:是否允許普通用戶控制此設備; PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向;默認為允許; HWADDR:設備的MAC地址; NM_CONTROLLED:是否使用NetworkManager服務來控制接口;
8、如何給網絡接口配置多個地址,有哪些方式?
# ip addr add 192.168.1.100/24 dev eth1 # ifconfig eth0:1 # vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
1.ifconfig命令 2.ip命令 3.route命令 4.netstat命令 5.ss命令
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
rpm包安裝方式: 安裝:rpm -ivh PACKAGE_FILE ... 升級:rpm -Uvh PACKAGE_FILE ... 卸載:rpm -e 查詢:rpm -q 校驗:rpm -V 數據庫維護:--builddb, --initdb Yum安裝方式 顯示程序包:list 安裝程序包:install 卸載程序包:remove 升級程序包:update 檢查可用升級:check-update 查看程序包:info 查看指定的特性:provides 清理本地緩存:clean 構建緩存:makecache 編譯安裝: . /configure make makeinstall
11、如何使用發行版光盤作為yum repository,請描述該過程。
(1) 掛載光盤至某目錄,例如/media/cdrom # mount -r -t iso9660 /dev/cdrom /media/cdrom (2) 創建配置文件 [CentOS7] ~]# cd /etc/yum.repos.d/ ~]# vim local.repo [Centos] name=Centos 7 Release 7.2 baseurl=file://madia/cdrom gpgcheck=1 enabled=0 配置完成可以使用 yum repolist 查看信息
12、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash ## declare -i K=0 declare -i S=0 for i in $(ls /etc/rc.d/rc3.d |grep "^K");do echo "$i" --\> stop let K++ done for i in $(ls /etc/rc.d/rc3.d |grep "^S");do echo "$i" --\> start let S++ done echo "k開頭的文件有$K個." echo "S開頭的文件有$S個."
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash ## declare -i Sum=0 if [ $# -lt 1 ];then echo "Please intput at least one user existed in current system" exit 1 fi for i in $@;do if id $i &> /dev/null;then Sum=$[$Sum+$(id -u $i)] else echo "這個$i用戶不存在" exit 2 fi done echo "這些用戶ID和為:$Sum."
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash declare -i dir_counts=0 declare -i file_counts=0 for i in $*;do echo "$i: " for filename in $i/*; do if [ -f $filename ];then echo "$filename common file" elif [ -d $filename ];then echo "$filename directory file" dir_counts+=1 continue elif [ -b $filename ];then echo "$filename block device file" elif [ -c $filename ];then echo "$filename character device file" elif [ -L $filename ];then echo "$filename symbolic link file" elif [ -p $filename ];then echo "$filename pipe file" elif [ -S $filename ];then echo "$filename socket file" else echo "$filename unknow" fi file_counts+=1 done done echo "一共有$dir_counts個目錄" echo "一共有$file_counts個文件"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash ## if [ $# -eq 0 ];then echo "At least need a user name." exit 1 fi id=$(id -u $1) if [ $id -ge 500 ]; then echo "login user" else echo "system user" fi
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash ## declare -i i=0 for i in {1..10};do if id user$i &> /dev/null;then echo "user$i is exist" continue else useradd user$i echo "user$i" |passwd --stdin user$i &> /dev/null let i++ fi done echo "創建了$i個用戶."
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash for((i=20;i<100;i++)) do ping -c 1 -w 1 172.16.250.$i &>/dev/null if [ $? -eq 0 ];then echo "172.16.250.$i 在線 " fi done
18、打印九九乘法表;
#!/bin/bash ## for j in {1..9}; do for i in $(seq 1 $j); do echo -n -e "${i}X${j}=$[${i}*${j}]\t" done echo done
原創文章,作者:chenzhijie,如若轉載,請注明出處:http://www.www58058.com/58525
作業做的非常棒,腳本部分在一些細節方面把控的非常到位,加油。