1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:鏈接層設備,基于MAC地址過濾。 集線器:物理層設備,基本都屬于半雙工模式。集線器與網橋在現在的局域網中基本都不用了。 二層交換機:基本MAC轉發數據,功能齊全的可支持VLAN等功能。常見的有100/1000M、16口/24口/48口。 三層交換機:功能齊全的交換機,具備都靜態路由、動態路由、VLAN、policy、DHCP等功能??捎糜诰W絡的匯聚與核心設備。 路由器:一般用于局域網的出口、不同網絡之間的連接的位置,常用的功能主要有各種路由協議、VPN、NAT等功能
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用 IP地址的分類: A類:1-127 B類:128-191 C類:192-223 D類:組播 224-239 E類:240-255 子網掩碼的表現形式: 十進制:172.16.100.100/255.255.0.0 簡寫:172.16.100.100/16 作用:劃分網絡范圍
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。 應用層 (Application): 網絡服務與最終用戶的一個接口。 協議有:HTTP FTP TFTP SMTP SNMP DNS TELNET 設備: 表示層(Presentation Layer): 數據的表示、安全、壓縮。(在五層模型里面已經合并到了應用層) 格式有,JPEG、ASCll、DECOIC、加密格式等 設備: 會話層(Session Layer): 建立、管理、終止會話。(在五層模型里面已經合并到了應用層) 對應主機進程,指本地主機與遠程主機正在進行的會話 設備: 傳輸層 (Transport): 定義傳輸數據的協議端口號,以及流控和差錯校驗。 協議有:TCP UDP,數據包一旦離開網卡即進入網絡傳輸層 設備: 網絡層 (Network): 進行邏輯地址尋址,實現不同網絡之間的路徑選擇。 協議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP 設備:路由器、防火墻 數據鏈路層 (Link): 建立邏輯連接、進行硬件地址尋址、差錯校驗等功能。(由底層網絡定義協議) 將比特組合成字節進而組合成幀,用MAC地址訪問介質,錯誤發現但不能糾正。 設備:交換機 物理層(Physical Layer): 建立、維護、斷開物理連接。(由底層網絡定義協議) 設備:集線器、網絡 對應tcp、ip的4層: 應用層 tcp udp ipv4 ipv6 設備驅動程序和硬件
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式) 要配置這些: IP/mask 路由 DNS服務器 IP: vim /etc/sysconfig/network-scripts/ifcfg-eth0 改2項: BOOTPROTO=dhcp ONBOOT=yes 如果改成static,則需要添加網關;否則沒網 保存退出 DNS: vim /etc/resolv.conf 把nameserver=192.168.1.1 改成=8.8.8.8 保存退出 ping www.baidu.com service network restart (centos7:systemctl restart network )
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。 靜態指定: 有3種 ifconfig ip; 配置文件 例如: ifconfig eth0 172.16.100.12 netmask 255.255.0.0 ip addr add 172.16.100.13/16 dev eth0 vim /etc/sysconfig/network-scripts/ifcfg-eth0
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值; DEVICE:此配置文件應用到的設備; HWADDR:對應的設備的MAC地址; BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp; NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;CentOS6建議為“no”; ONBOOT:在系統引導時是否激活此設備; TYPE:接口類型;常見有的Ethernet, Bridge; UUID:設備的惟一標識; PADDR:指明IP地址; NETMASK:子網掩碼; GATEWAY: 默認網關; DNS1:第一個DNS服務器指向;此處的DNS配置優先于/etc/resolv.conf文件中的DNS配置 DNS2:第二個DNS服務器指向; USERCTL:普通用戶是否可控制此設備; PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中;
8、如何給網絡接口配置多個地址,有哪些方式? ifconfig ip; 配置文件 都可以實現。
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。 ifconfig/route/netstat ifup/ifdown
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。 rpm命令 yum命令 例如: rpm命令: 安裝 rpm {-i|--install} [install-options] PACKAGE_FILE(包文件) ... -v: verbose -vv: more verbose -h: 以#顯示程序包進度;每個#表示2%的進度 升級 rpm -Uvh PACKAGE_FILE ... rpm -Fvh PACKAGE_FILE ... 卸載 rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] rpm -e zsh rpm -q zsh yum命令: 安裝程序包: install package1 [package2] [...] reinstall package1 [package2] [...] (重新安裝) 升級程序包: update [package1] [package2] [...] downgrade package1 [package2] [...] (降級) 卸載程序包: remove | erase package1 [package2] [...] 依賴的程序包也會被卸載
11、如何使用發行版光盤作為yum repository,請描述該過程。 cd /etc/yum.repos.d/ ls vim centos-local.repo [epel] name=EPEL for EL6 x86_64 baseurl=http://mirrors.aliyun.com/epel/6/x86_64/ gpgcheck=1 enabled=1 yum repolist
12、寫一個腳本,完成以下功能 (1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干; (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串; (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串; (4) 分別統計S開頭和K開頭的文件各有多少; #!/bin/bash k=0 s=0 for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do echo "$i stop" let k=$k+1 done for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do echo "$i start" let s=$s+1 done echo "K file: $k; S file: $s" 第二種實現: #!/bin/bash declare -i k=0 declare -i s=0 for i in $(ls /etc/rc.d/rc3.d/); do file1=(grep "^K*$" /etc/rc.d/rc3.d/$i) if [ -n "$file1" ]; then echo "$i stop" let k++ file2=(grep "^S*$" /etc/rc.d/rc3.d/$i) if [ -n "$file2" ]; then echo "$i start" let s++ fi fi done echo "K file: $k" echo "S file: $s"
13、寫一個腳本,完成以下功能 (1) 腳本能接受用戶名作為參數; (2) 計算此些用戶的ID之和; #!bin/bash declare -i sum=0 for i in $*;do if id $i &>/dev/null;then sum+=$(id -u $i) fi done echo "sum uid:$sum"
14、寫一個腳本 (1) 傳遞一些目錄給此腳本; (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型; (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型; #!/bin/bash declare -i dsum=0,fsum=0 if [ $# -eq 0 ]; then echo "input at least a filepath!" fi for i in $*;do if [ -d $i -a -x $i ]; then ls -l $i |grep ^d |awk '{print $NF}' let dsum+=$(ls -l /tmp/ |grep ^d |wc -l) let fsum+=$(ls -l /tmp/ |grep -v ^d |wc -l) else echo "The $i is not exist or Permission denied,please check it!" exit 2 fi done echo "the directories sum:$dsum" echo "the file sum:$fsum"
15、寫一個腳本 通過命令行傳遞一個參數給腳本,參數為用戶名 如果用戶的id號大于等于500,則顯示此用戶為普通用戶; #!/bin/bash for i in $*; do if id $user &> /dev/null; then userid=`id -u $i` if [ $userid -ge 500 ]; then echo "common user" fi done
16、寫一個腳本 (1) 添加10用戶user1-user10;密碼同用戶名; (2) 用戶不存在時才添加;存在時則跳過; (3) 最后顯示本次共添加了多少用戶; #!/bin/bash # declare -i i=1 declare -i users=0 while [ $i -le 10 ]; do if ! id user$i &> /dev/null; then useradd user$i echo "Add user: user$i." let users++ fi let i++ done echo "Add $users users."
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來; #!/bin/bash # declare -i i=1 declare -i uphosts=0 declare -i downhosts=0 net='172.16.250' while [ $i -le 20 ]; do if ping -c 1 -w 1 $net.$i &> /dev/null; then echo "$net.$i is up." let uphosts++ else echo "$net.$i is down." let downhosts++ fi let i++ done echo "Up hosts: $uphosts." echo "Down hosts: $downhosts."
18、打印九九乘法表; #!/bin/bash # declare -i i=1 declare -i j=1 while [ $j -le 9 ]; do while [ $i -le $j ]; do echo -e -n "${i}X${j}=$[$i*$j]\t" let i++ done echo let i=1 let j++ done
原創文章,作者:mississippi,如若轉載,請注明出處:http://www.www58058.com/45085