1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋(birdge):工作于OSI模型中的數據鏈路層,是連接兩個局域網的一種存儲/轉發設備,能將一個大的LAN分割為多個網段,或將兩個以上的LAN互聯為一個邏輯LAN,使LAN上的所有用戶都可訪問服務器,可以分割沖突域。
集線器(Hub):工作于OSI模型中的物理層,可以對接收到的信號進行再生和放大,并將其以廣播形式發送到所有端口,可以擴大網絡的傳輸距離,不能分割沖突域。
二層交換機(Layer 2 switches):工作于OSI模型中的數據鏈路層,識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
三層交換機(Layer 3 switches):擁有部分路由器功能的交換機,可以加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。
路由器(Router):工作于OSI模型的網絡層,連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號。
2 、IP地址的分類有哪些?子網掩碼的表示形式及其作用
IP地址分類:
公網地址:公網地址是由Inter NIC(Internet Network Information Center因特網信息中心)負責。這些IP地址分配給注冊并向Inter NIC提出申請的組織機構。通過它直接訪問因特網。
私有地址:私有地址(Private address)屬于非注冊地址,預留給組織或個人使用不能直接在網上直接進行訪問的地址,私有地址一共分為A、B、C、D、E五類。
A類地址最大網絡數為126(2^7-2),ip地址范圍是0.0.0.0-127.255.255.255,最大主機數為16777214,地址范圍是 10.0.0.0-10.255.255.255
B類地址最大網絡數為16384(2^14),ip地址范圍是128.0.0.0-191.255.255.255,最大主機數為16777214,地址范圍是 10.0.0.0-10.255.255.255
C類地址最大網絡數為2097152(2^21),ip地址范圍是192.0.0.0-223.255.255.255,最大主機數為254,地址范圍是 192.168.0.0-192.168.255.255
D類地址是組播地址,多播地址的最高位必須是“1110”,范圍從224.0.0.0到239.255.255.255
E類地址是特殊的預留地址,地址范圍是240.0.0.1到255.255.255.254。
子網掩碼: 將某個IP地址劃分成網絡地址和主機地址兩部分,其必須與ip地址組合使用,不能單獨使用。
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
tui界面配置
centos6以下可以使用命令setup命令進入tui界面進行配置,centos7可使用命令nmtui命令進入界面進行配置
命令行界面
1、命令ip、ifconfig(注命令修改即時生效重啟后消失)
ip addr add 172.23.200.1/24 dev eth0
ifconfig 172.23.200.1 netmask 255.255.255.0 eth0
2、修改配置文件(/etc/sysconfig/netwrok-scripts/ifcfg-eth0)修改后不能直接生效需要重啟該網卡
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=static IPADDR=192.168.241.10 NETMASK=255.255.255.0 DEVICE=eth0 ONBOOT=yes [root@localhost ~]# ifdown eth0 && ifup eht0
5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。
1、在系統安裝過程中配置的網絡信息
2、使用tui界面進行網卡配置(centos5,6使用setup,centos7使用nmtui)
3、直接編輯網卡配置文件
4、使用命令ifconfig、ip進行網絡信息配置
5、在擁有dhcp服務的網絡中使用命令dhclient命令進行地址動態分配
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash # # # PING() { if ping -w2 $1 &>/dev/null ;then echo -e "\033[32m $1 is up \033[0m" else echo -e "\033[31m $1 is down \033[0m" fi } for i in `seq 1 254`;do PING 172.16.250.$i done
7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
ifcfg-IFACE配置文件參數:
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、如何給網絡接口配置多個地址,有哪些方式?
1、使用命令ficonfig、ip 命令添加,添加的地址當前有效重啟后消失。
ifconfig eth0:0 172.23.200.1 netmask 255.255.255.0
ip addr add 172.23.200.1/24 label eth0:0 dev eth0
2、創建配置文件
在/etc/sysconfig/network-scripts/文件下創建文件
vim ifcfg-eth0:0
BOOTPROTO=static IPADDR=192.168.241.12 NETMASK=255.255.255.0 DEVICE=eth0:0 ONBOOT=yes
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。
1、網絡查看與配置(命令形式)
網絡查看
ifconfig
ip addr show
網絡配置
ifconfig eth0 172.24.200.1 netmask 255.255.255.0
ip addr add 172.24.200.1/24 dev eth0
2、路由查看與配置(命令形式)
路由查看
route
ip route show
路由配置
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
ip route add default via 192.168.1.1 dev eth0
3、網絡連接查看
ss
[root@localhost network-scripts]# ss -natl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*
netstat
[root@localhost network-scripts]# netstat -anlt 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 tcp 0 52 192.168.241.10:22 192.168.241.1:14451 ESTABLISHED tcp 0 0 192.168.241.10:22 192.168.241.1:2041 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
redhat風格軟件包管理
1、安裝
rpm -ivh 軟件包命(需要手動解決軟件包依賴關系)
yum -y install 軟件包名(可自動解決軟件包依賴關系)
2、卸載
rpm -e 軟件包名(需要手動解決軟件包依賴關系)
yum -y remove 軟件包名(可自動解決軟件包依賴關系)
3、更新
rpm -U 軟件包 直接安裝一個新包
rpm -F 軟件包 刪除原有包重新安裝一個高版本的包
yum update [package1] [package2] 升級所有包同時也升級軟件和系統內核
yum upgrade [package1] [package2] 只升級所有包
11、如何使用發行版光盤作為yum repository,請描述該過程。
[root@localhost network-scripts]# mount /dev/cdrom /media/
[root@localhost network-scripts]# vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///media/
gpgcheck=0
enabled=1
12、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash # # # S=0 K=0 for i in `ls /etc/rc.d/rc3.d/S*`;do echo "$i start" let S++ done for i in `ls /etc/rc.d/rc3.d/K*`;do echo "$i stop" let K++ done echo "START is $S, STOP is $K"
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash # # # SUM=0 ID=0 [ $# -eq 0 ]&& echo "user $0 username1 usermane2 ..." && exit for i in $* ;do if id -u $i &>/dev/null ;then ID=`id -u $i` let SUM+=$ID else echo "no such user $i" continue fi done echo $SUM
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash # # # NUM1=0 NUM2=0 [ $# -eq 0 ]&& echo "use $0 directory1 dicectory2 ..." && exit for i in $* ;do [ ! -d $i ]&& echo "$i is not a directory"&&exit done for dir in $*;do file $dir/* NUM1=`file $dir/* |grep directory$ |wc -l` NUM2=`ls $dir|wc -l ` let NUM3+=$NUM1 let NUM4+=$NUM2 done echo "Directory num. is $NUM3" echo "All files num. is $NUM4"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash # # # [[ $# -ne 1 ]]&& echo "use $0 user name "&& exit USER() { NUM=`id -u $1` if [[ $NUM -gt 500 ]];then echo "$1 is a ordinary user" else echo "$1 is not a ordinary user" fi } if id -u $1 &> /dev/null ;then USER $1 else echo " $1 is not a username" fi
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash # # # ADDUSER() { useradd $1 &>/dev/null echo "$1" | passwd --stdin $1 &>/dev/null } NUM=0 for ((i=1;i<=10;i++));do if id user$i &>/dev/null ;then continue else ADDUSER user$i let NUM++ fi done echo "adduser num. is $NUM"
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash # # # PING() { if ping -w2 $1 &>/dev/null ;then echo "$1 is online" fi } for ((i=20;i<=100;i++));do PING "172.16.250.$i" done ~ ~
18、打印九九乘法表;
#!/bin/bash###for ((i=1;i<=9;i++));do for j in `seq 1 $i`;do let b=$i*$j echo -n -e " $j*$i=$b " done echo done
原創文章,作者:胡安慧,如若轉載,請注明出處:http://www.www58058.com/70483
網絡這塊的知識對于排障有很大的幫助~~繼續加油!