1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋(Bridge)
就是個硬件網絡協議翻譯器,如今交換機也包含這個功能,操作系統也可以是網橋,現在網橋的概念已經淡出
集線器(HUB)
將網線集中到一起,對收到的信號進行同步整形放大,以擴大傳輸距離,是中繼器的一種形式,信息是通過廣播的方式傳送的
交換機(Switch)
是HUB的升級換代產品,在通信系統中自動完成信息交換的設備。它具備自動尋址和交換能力,會根據內存中的地址表對照確定目標MAC的NIC所在端口,通過內部交換矩陣迅速發送到目的端口,若目的MAC不存在,才會用廣播的形式。
二層交換機
原理同上,工作于數據鏈路層
三層交換機
在二層基礎上,具有部分路由器功能,目的加快大型局域網內部的數據交換,能夠實現一次路由,多次轉發
路由器(route)
簡單來說是將不同網絡之間互相連接一起,實現相互間的通信。路由器構成了Internet的骨架。
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用
IP地址分為
A類1.0.0.0到126.255.255.255
B類128.0.0.0到191.255.255.255
C類192.0.0.0到223.255.255.255
子網掩碼
4個網段,每個網絡數值區間為0~255
子網掩碼的作用將IP地址分成網絡地址和主機地址兩部分
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些
OSI參考模型 TCP/IP參考模型
應用層 ———–
表示層 ———–
會話層 —————— 應用層
傳輸層 —————— 傳輸層
網絡層 —————— 網絡互聯層
數據鏈路層 ——–
物理層 —————— 主機到網絡層
應用層:為操作系統或網絡應用程序提供訪問網絡服務的幾口。Telenet、FTP、HTTP、SNMP等
表示層:二進制傳輸。將會話層的數據或信息變換成一個可以被應用層理解的格式。數據轉換包括數據的加密、壓縮、格式轉換等
會話層:介質訪問。會話層管理主機之間的繪畫進程,即負責建立、管理、終止進程之間的會話。
傳輸層:尋址和最短路徑??煽炕虿豢煽總鬏?,TCP、UDP、SPX等。
網絡層:端到端的連接。負責對子網間的數據包進行路由選擇,還可以實現擁塞控制、網際互連等。IP、IPX、RIP、OSPF等
數據鏈路層:主機間通信。在不可靠的物理介質上提供可靠的傳輸。SDLC、HDLC、PPP、STP
物理層:數據表示。物理層規定了激活、維持、關閉通信點之間的機械特性、電氣特性、功能特性以及過程特性。
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
或者
BOOTPROTO=static
IPADDR=為固定IP
NETMASK=子網掩碼
GATEWAY=網管
ifup eth0
5、為Linux主機配置網絡信息的方式有哪些,請打樁各個過程
vi /etc/sysconfig/network-scripts/ifcfg-eth0 ifconfig eth0 xxx.xxx.xxx.xxx route add default gw xxx.xxx.xxx.xxx
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有在線狀態
在線的主機使用綠色顯示
不在線的主機使用紅色顯示
[root@llww3317 tmp]# ip add 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 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:04:b7:19 brd ff:ff:ff:ff:ff:ff inet 192.168.2.107/24 brd 192.168.2.255 scope global eth0 inet 183.156.202.213/20 brd 183.156.207.255 scope global eth0 inet6 fe80::20c:29ff:fe04:b719/64 scope link valid_lft forever preferred_lft forever [root@llww3317 tmp]# cat ping.sh #!/bin/bash # ip="183.156.202." for i in {1..255};do if ping -c 1 $ip$i >/dev/null ;then echo -e "$ip$i\t[\033[32;1m Connected \033[0m]" else echo -e "$ip$i\t[\033[31;1m Disconnect \033[0m]" fi done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值
DEVICE=eth0 //設備名稱 TYPE=Ethernet //網卡類型 UUID=7a8bfd73-eea3-4830-b4f8-5840b359c0a8 //網卡的UUID ONBOOT=yes //是否開機啟動 NM_CONTROLLED=yes //修改配置文件后實時生效 BOOTPROTO=dhcp //啟動方式,有三種dhcp、static、none HWADDR=00:0C:29:04:B7:19 //網卡MAC地址 DEFROUTE=yes //默認路由 PEERDNS=yes //dhcp默認選項,自動修改resolv.conf PEERROUTES=yes //dhcp默認選項,自動修改路由信息 IPV4_FAILURE_FATAL=yes //是否啟用IPV4 IPV6INIT=no //是否啟用IPV6 NAME="System eth0" //系統名稱
8、如何給網絡接口配置多個地址,有哪些方式?
vi /etc/sysconfig/network-scripts/ifcfg-eh0 修改網絡配置文件 ip addr add 192.168.1.100/24 dev eth0 臨時添加IP ifconfig eth0 192.168.10.50 netmask 255.255.255.0 臨時添加IP
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法
ifconfig eth0 192.168.10.50 netmask 255.255.255.0 臨時添加IP ip addr add 192.168.1.100/24 dev eth0 臨時添加IP route add default gw 192.168.0.1 添加默認網關 route add -host 192.168.1.3 gw 172.16.0.1 dev eth0 添加到主機的路由表 route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0 添加到網絡段的路由表 netstat -tan ss -tul CentOS 7 nmcli c modify eth0 ipv4.addresses 172.16.100.12/16 nmcli c down eth0;nmcli c up eth0
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的
rpm 參數: -a 所有包 -f 指定的文件由哪些程序包生成 -R 查詢指定的程序包的依賴關系 -q 來查詢已安裝軟件包的數據庫 -i 顯示軟件包信息,如描述, 發行號, 尺寸, 構建日期, 安裝日期, 平臺, 以及其它一些各類信息。 -l 顯示軟件包中的文件列表 -e 卸載 -U 有舊的程序就升級,沒有就安裝 -F 有舊的程序就升級,沒有就不安裝 可以用yum來維護管理 yum 參數: list 顯示程序包 install 安裝 reinstall 重新安裝 update 升級 downgrade 降級 remove 卸載 info 查看程序包信息
11、如何使用發行版光盤作為yum repository,請描述該過程
vi /etc/yum.repos.d/CentOS-Media.repo 修改enalbe=1,添加cost=500,優先使用cdrom里的資源
name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=1 cost=500 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [root@llww3317 tmp]# mkdir /media/cdrom [root@llww3317 tmp]# createrepo /media/cdrom [root@llww3317 tmp]# mount /dev/cdrom /media/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only [root@llww3317 ~]# yum install tree 已加載插件:fastestmirror, refresh-packagekit, security 設置安裝進程 倉庫 'c6-media' 在配置文件中未指定名字,使用標識代替 Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * centosplus: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com 解決依賴關系 --> 執行事務檢查 ---> Package tree.x86_64 0:1.5.3-3.el6 will be 安裝 --> 完成依賴關系計算 依賴關系解決 ============================================================================================================================================================================================================ 軟件包 架構 版本 倉庫 大小 ============================================================================================================================================================================================================ 正在安裝: tree x86_64 1.5.3-3.el6 c6-media 36 k 事務概要 ============================================================================================================================================================================================================ Install 1 Package(s) 總下載量:36 k Installed size: 65 k 確定嗎?[y/N]:
12、寫一個腳本,完成以下功能
(1)假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干
(2)顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串
(3)顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串
(4)分別統計S開頭和K開頭的文件各有多少
[root@llww3317 tmp]# cat 12.sh #!/bin/bash # S=0 K=0 for i in $( ls /etc/rc.d/rc3.d/K*|egrep -o "[^/]*$");do echo "$i stop" let K+=1 done for i in $( ls /etc/rc.d/rc3.d/S*|egrep -o "[^/]*$");do echo "$i start" let S+=1 done echo "K:$K,S:$S" [root@llww3317 tmp]# bash 12.sh K01smartd stop K02oddjobd stop K05wdaemon stop K10psacct stop K10saslauthd stop K15htcacheclean stop K15httpd stop K30spice-vdagentd stop K50dnsmasq stop K50kdump stop K60nfs stop K61nfs-rdma stop K69rpcsvcgssd stop K73winbind stop K74ntpd stop K75ntpdate stop K75quota_nld stop K76ypbind stop K83named stop K84wpa_supplicant stop K87restorecond stop K88sssd stop K89netconsole stop K89rdisc stop K92pppoe-server stop K95firstboot stop K95rdma stop K99rngd stop S01sysstat start S02lvm2-monitor start S08ip6tables start S08iptables start S10network start S11auditd start S11portreserve start S12rsyslog start S13cpuspeed start S13irqbalance start S13rpcbind start S15mdmonitor start S22messagebus start S23NetworkManager start S24nfslock start S24rpcgssd start S25blk-availability start S25cups start S25netfs start S26acpid start S26haldaemon start S26udev-post start S28autofs start S50bluetooth start S55sshd start S80postfix start S82abrt-ccpp start S82abrtd start S90crond start S95atd start S99certmonger start S99local start K:28,S:32
13、寫一個腳本,完成以下功能
(1)腳本能接受用戶名作為參數
(2)計算此些用戶的ID之和
#!/bin/bash # sum=0 function user_sum { echo -n "Enter user: " read name if [ $name = "exit" ];then exit 0 else if id $name &>/dev/null;then let sum+=$(cat /etc/passwd|grep ^$name|cut -d: -f3) echo $sum user_sum else echo "retry input user" user_sum fi fi } user_sum [root@llww3317 tmp]# bash 13.sh Enter user: root 0 Enter user: namd retry input user Enter user: named 25 Enter user: magedu 525 Enter user: exit
14、寫一個腳本
(1)傳遞一些目錄給此腳本
(2)逐個顯示每個目錄的所有一級文件或子目錄的內容類型
(3)統計一共有多少個目錄,且一共顯示了多少個文件的內容類型
[root@llww3317 tmp]# more 14.sh #!/bin/bash # d=0 f=0 for i in $*;do if [ -d $i ];then for j in `ls $i`;do if [ -d $i/$j ];then let d+=1 elif [ -f $i/$j ];then let f+=1 fi done fi done echo "sum_directory:$d,sum_files:$f" [root@llww3317 tmp]# bash 14.sh /etc sum_directory:124,sum_files:133 [root@llww3317 tmp]# bash 14.sh /etc /tmp sum_directory:125,sum_files:134
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的ID號大于等于500,則顯示此用戶為普通用戶
#!/bin/bash # if id $1 &>/dev/null;then if [ $(id -u $1) -ge 500 ];then echo "normal user" fi fi [root@llww3317 tmp]# bash 15.sh magedu normal user
16、寫一個腳本
(1)添加10用戶user1-user10,密碼同用戶名
(2)用戶不存在時才添加,存在時則跳過
(3)最后顯示本次共添加了多少用戶
[root@llww3317 tmp]# more 16.sh #!/bin/bash # sum=0 for i in {1..10};do id user$i &>/dev/null if [ $? -ne 0 ];then useradd user$i echo "user$i"|passwd --stdin user$i >/dev/null let sum+=1 fi done echo "useradd:$sum" [root@llww3317 tmp]# bash 16.sh useradd:10
18、打印九九乘法表
#!/bin/bash # for i in {1..9};do for j in $(seq 1 $i);do echo -ne "$j*$i=$((i*j))\t" done echo -ne "\n" done 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
原創文章,作者:laiwen2007,如若轉載,請注明出處:http://www.www58058.com/27277
寫的很好,排版也很棒,加油