1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋(Bridge)是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,不是共享一條背板總線,可隔離沖突域。網橋比集線器(Hub)性能更好,集線器上各端口都是共享同一條背板總線的。后來,網橋被具有更多端口、同時也可隔離沖突域的交換機(Switch)所取代。 二層交換機工作于OSI模型的第2層(數據鏈路層),隔離沖突域,相當于多端口網橋。 三層交換機就是具有部分路由器功能的交換機,三層交換技術就是二層交換技術+三層轉發技術。 路由器(Router)又稱網關設備(Gateway)是用于連接多個邏輯上分開的網絡。 三層交換機和路由器的最主要區別是路由器有NAT功能,是邊界設備,三層交換機沒有NAT功能。 網橋和集線器已經是淘汰設備,二層交換機一般用來做接入層,連接各種終端設備,三層交換機用來做匯聚層和核心層,路由器用來連接Internet
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
A類IP地址 地址范圍1.0.0.0到127.255.255.255,默認掩碼255.0.0.0 B類IP地址地址范圍128.0.0.0-191.255.255.255,默認掩碼255.255.0.0 C類IP地址范圍192.0.0.0-223.255.255.255,默認掩碼255.255.255.0 D類是組播地址,范圍從224.0.0.0到239.255.255.255, E類作為多播和保留使用 以下列出留用的內部私有地址 A類 10.0.0.0--10.255.255.255 B類 172.16.0.0--172.31.255.255 C類 192.168.0.0--192.168.255.255
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes #開機啟動 BOOTPROTO=static #手動指定IP地址 IPADDR=192.168.16.108 NETMASK=255.255.255.0 GATEWAY=192.168.16.1 [root@localhost ~]# service network restart [root@localhost ~]# vi /etc/resolv.conf nameserver 223.5.5.5 #添加DNS
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
[root@localhost ~]# ifconfig eth0 192.168.16.108/24 up [root@localhost ~]# ip addr add 192.168.16.108/24 dev eth0 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash for ((i=1;i<255;i++));do ping -c 1 -w 1 "172.16.250.$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=eth0 #設備名稱 #HWADDR=00:0C:29:C5:41:BC #mac地址 TYPE=Ethernet #設備類型 UUID=ea231794-ff5a-44fd-bf0e-ed4446a8721c #uuid號 ONBOOT=yes #是否開機啟動 NM_CONTROLLED=yes #是否使用netmanager 管理 BOOTPROTO=static #IP獲取類型static 或者 DHCP IPADDR=192.168.16.108 #ip地址 NETMASK=255.255.255.0 #掩碼 GATEWAY=192.168.16.1 #網關
8、如何給網絡接口配置多個地址,有哪些方式?
[root@localhost ~]# ifconfig eth0:0 192.168.16.100/24 [root@localhost ~]# ip addr add 192.168.16.18/24 dev eth0:1 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:76:F3:6C inet addr:192.168.16.108 Bcast:192.168.16.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe76:f36c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:62255 errors:0 dropped:0 overruns:0 frame:0 TX packets:34748 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:28454794 (27.1 MiB) TX bytes:4203485 (4.0 MiB) [root@localhost ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever [root@localhost ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.16.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.16.1 0.0.0.0 UG 0 0 0 eth0 [root@localhost ~]# ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* [root@localhost ~]# netstat -tan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
有源碼編譯安裝,rpm包安裝,yum源安裝 源碼安裝一般步驟:配置(configure)、編譯(make)、安裝(make install)。刪除源碼安裝直接刪除安裝目錄 rpm命令實現程序管理: 安裝:-ivh, –nodeps, –replacepkgs 卸載:-e, –nodeps 升級:-Uvh, -Fvh, –nodeps, –oldpackage 查詢:-q, -qa, -qf, -qi, -qd, -qc, -q –scripts, -q –changlog, -q –provides, -q –requires 校驗:-V 導入GPG密鑰:–import, -K, –nodigest, –nosignature 數據庫重建:–initdb, –rebuilddb Yum 命令實施軟件包管理: repolist [all|enabled|disabled] 顯示程序包:list # yum list [all | glob_exp1] [glob_exp2] […] # yum list {available|installed|updates} [glob_exp1] […] 安裝程序包: install package1 [package2] […] reinstall package1 [package2] […] (重新安裝) 升級程序包: update [package1] [package2] […] downgrade package1 [package2] […] (降級) 檢查可用升級: check-update 卸載程序包: remove | erase package1 [package2] […] 查看程序包information: info […] 查看指定的特性(可以是某文件)是由哪個程序包所提供: provides | whatprovides feature1 [feature2] […] 清理本地緩存: clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 構建緩存: makecache
11、如何使用發行版光盤作為yum repository,請描述該過程。
掛載光盤至某目錄 [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ 創建配置文件 vim /etc/yum.repos.d/cdrom.repo [cdrom] #倉庫的名字 name=localation software #倉庫的描述 baseurl=file:///mnt/cdrom #repodata目錄的倉庫訪問路徑 gpgchecked=0 #使用前是否檢驗包 enabled=1 #是否啟用此倉庫
12、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash # declare -i s=0 declare -i k=0 for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do echo "$i start" let s++ done for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do echo "$i stop" let k++ done echo "K file: $k; S file: $s"
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash for i in $*;do id $i &> /dev/null if [ $? -ne 0 ];then echo "$i not exists" else let x+=`id -u $i` fi done echo "sum of userid :$x"
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash if [ $# -le 1 ];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 x+=$(ls -l /tmp/ |grep ^d |wc -l) let y+=$(ls -l /tmp/ |grep -v ^d |wc -l) else echo "The $i is not exist or Permission denied,please check it!" exit fi done echo "the directories sum:$x" echo "the file sum:$y"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash id $1 &> /dev/null if [ $? -eq 0 ];then if [ `id -u $1` -ge 500 ];then echo "user is a domestic consumer" else echo "user is a system or root consumer" fi else echo "user is not exsits" fi
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash for i in {1..10};do id user$i &> /dev/null if [ $? -eq 0 ];then useradd user$i && echo "user$i" | passwd --stdin user$i x++ else echo "user is exsits" fi done
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash for i in {1..255};do ping -c 1 -w 1 "172.16.250.$i" > /dev/null if [ $? -eq 0 ];then echo -e "ip addr 172.16.250.$i is online" fi done
18、打印九九乘法表;
#!/bin/bash for i in {1..9};do for j in $(seq 1 $i);do let sum=($i * $j) echo -n -e "${j}x${i}=$sum\t" done echo done
原創文章,作者:N21_smile,如若轉載,請注明出處:http://www.www58058.com/47237
寫的很好,圖如果是自己畫的話,會更好