1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
設備 | 使用場景 | 功能 | 區別 |
集線器 | 局域網 | 共享同一網絡 | 不能分隔沖突域 |
網橋 | 局域網 | 連接不同網段,拓展局域網 | 端口少,可以分隔沖突域 |
二層交換機 | 局域網 | 連接不同局域網段,數據交換 | 端口更多,可以分隔沖突域,速率更快 |
三層交換機 | 局域網,廣域網 | 路由,高速數據交換,分隔廣播域 | 轉發數據速度快,路由功能較路由器弱 |
路由器 | 廣域網 | 路由轉發,分隔廣播域 | 轉發數據比三層交換機速度慢,主要用于路由 |
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
類別 | 范圍 | 子網掩碼 |
A | 1~126 | 255.0.0.0 |
B | 128~191 | 255.255.0.0 |
C | 191~223 | 255.255.255.0 |
D | 224~239 | |
E | 240~254 |
子網掩碼作用:用來區分網絡地址和主機地址
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
OSI模型 | 名稱 | 功能 | 設備 | TCP/IP模型 | 名稱 |
第一層 | 物理層 | 定義物理設備通信的電氣特性 | 集線器 | 第一層 | 物理層 |
第二層 | 數據鏈路層 | 物理地址尋址,流量控制,數據校驗 | 網橋,交換機 | 第二層 | 數據鏈路層 |
第三層 | 網絡層 | 路由選擇 | 路由器、三層交換機 | 第三層 | 網絡層 |
第四層 | 傳輸層 | 端到端通信、差錯控制、流量控制 | 第四層 | 傳輸層 | |
第五層 | 會話層 | 管理進程間通信 | 第五層 | 應用層 | |
第六層 | 表示層 | 數據格式化、數據加密,代碼轉換 | |||
第七層 | 應用層 | 為操作系統或應用程序提供網絡服務接口 |
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
修改對應網卡配置文件
[root@jumper ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 #修改并添加以下選項
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.4.0.61
NETMASK=255.255.255.0
GATEWAY=10.4.0.10
DNS=8.8.8.8
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
a.修改配置文件方式(永久有效)
vim 修改/etc/sysconfig/network-scripts/ifcfg-ethX,并保存
b.命令行方式(當前有效)
使用 ip,route命令指定ip地址,默認網關
c.圖形界面方式
使用 setup 命令進入tui界面配置,或者是 system-config-network-tui
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash # server='172.16.250.' for num in {1..254};do if ping -c 1 -w 1 $server$num &> /dev/null ;then echo -e "\t\033[32m$server$num online\033[0m" else echo -e "\t\033[31m$server$num offline\033[0m" fi done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
DEVICE=eth0 #設備名
HWADDR=00:50:56:80:7C:4A #設備物理MAC地址
TYPE=Ethernet #設備類型
UUID=2c6e71ce-5562-46b2-a7a7-a4a27f2e226a #通用惟一標識符
ONBOOT=yes #開機啟動
NM_CONTROLLED=yes #該設備是否接受 network manager 控制
BOOTPROTO=none #啟動此設備時的地址匹配協議
IPADDR=10.4.0.60 #ipv4地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=10.4.0.10 #默認網關
DNS=8.8.8.8 #域名解析服務器地址
8、如何給網絡接口配置多個地址,有哪些方式?
a、[root@server ~]# ifconfig lo:1 192.168.1.1/24 up #使用 ifconfig 查看配置結果
b、[root@server ~]# ip addr add 192.168.1.1/24 dev lo #使用 ip addr show lo 查看配置結果
c、新建/etc/sysconfig/network-scripts/ifcfg-ethX:X 文件
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
1)ifconfig #查看所有網絡接口信息
ifconfig 網卡名 ip地址/子網掩碼 #配置網卡ip,立即生效
2)route #打印路由表
route add|del 目標主機或ip地址 #添加/刪除對應主機/ip路由條目
3)netstat #顯示網絡連接、路由表、接口統計、偽裝的連接,和組播成員
netstat -tnlp #以數字形式顯示正在監聽的tcp協議相關進程
netstat -unlp #以數字形式顯示正在監聽的udp協議相關進程
-n:以數字格式顯示ip及端口
-t:tcp協議相關
-l:處于監聽狀態
-P:顯示相關的進程和PID
4)ss #顯示網絡連接狀態,速度較netstat快
ss -tnlp #以數字格式顯示tcp協議套接字
ss -unlp #以數字形式顯示正在監聽的udp協議相關進程
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
1)使用rpm工具管理(本地包組管理,無需網絡,需要rpm本地包,手動解決依賴關系)
查詢 rpm -q package …
安裝 rpm -i package …
升級 rpm -U package …
卸載 rpm -e package …
2)使用yum工具管理(若無本地源,則必須要連接互聯網,無需本地包,安裝時自動解決依賴關系)
查詢 yum list …
安裝 yum install package …
升級 yum upgrate package …
卸載 yum remove package …
11、如何使用發行版光盤作為yum repository,請描述該過程。
1)掛載光盤 #mount -r -t iso9660 /dev/cdrom /media/cdrom
2)編輯repo文件 #vim /etc/yum.repos.d/test.repo
[test-cent6]
name=local_repo
baseurl=file:///media/cdrom
gpgcheck=1
enabled=1
3)檢查結果 #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 dir_name="/etc/rc.d/rc3.d/" for list in $(ls $dir_name);do if echo $list | grep ^K &> /dev/null;then echo "$list stop" let k++ else echo "$list start" let s++ fi done echo "kfile $k" echo "sfile $s"
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash # declare -i sum=0 if [ $# -eq 0 ];then echo "Usage: $0 User_name ..." exit fi for list in $*;do if id $list &> /dev/null;then user_id=$(id -u $list) let sum+=$user_id else echo "$list is not exist" fi done echo "id total is $sum"
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash # declare -i dir_sum=0 declare -i file_sum=0 if [ $# -eq 0 ];then echo "Usage: $0 dir_name ..." fi for list in $*;do if [ ! -d $list ];then echo "$list is not a directory,pls input directory name" exit fi done for list1 in $*;do for list2 in $(ls $list1);do if [ -d $list1/$list2 ];then let dir_sum++ elif [ -f $list1/$list2 ];then let file_sum++ fi done done echo "directory $dir_sum" echo "file $file_sum"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash # if [ $# -ne 1 ];then echo "Usage: $0 user_name" exit fi if id $1 &> /dev/null;then num=$(id -u $1) if [ $num -gt 500 ];then echo "$1 is normal user" fi fi
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash # declare sum=0 Judge_user () { if id $1 &> /dev/null;then echo "$1 is exist" else useradd $1 echo $1 | passwd --stdin $1 &> /dev/null let sum++ fi } for list in $(seq 1 10);do Judge_user user$list done echo "$sum users is add in this operation"
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash # server='172.16.250.' for num in {20..100};do if ping -c 1 -w 1 $server$num &> /dev/null ;then echo -e "\t\033[32m$server$num is online\033[0m" fi done
18、打印九九乘法表;
#!/bin/bash # for ((b=1;b<=9;b++));do for ((a=1;a<=$b;a++));do echo -n -e "${a}x$=$[$a*$b]\t" done echo done
原創文章,作者:Net21_木頭,如若轉載,請注明出處:http://www.www58058.com/42104