Linux網絡相關概念及bash腳本編程練習

馬哥教育網絡班第23期+第八周課堂練習

Linux網絡相關概念及bash腳本編程練習

習題:

1.請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別

(1)網橋: 
橋接器(英語:network bridge),又稱網橋,一種網路裝置,負責網路橋接(network bridging)之用。 橋接器將網絡的多個網段在數據鏈路層(OSI模型第2層)連接起來(即橋接)。網橋的作用主要是在數據鏈路層 
(2)集線器
集線器的英文稱為“Hub”?!癏ub”是“中心”的意思,集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI(開放系統互聯參考模型)參考模型第一層,即“物理層”。集線器與網卡、網線等傳輸介質一樣,屬于局域網中的基礎設備,采用CSMA/CD(即帶沖突檢測的載波監聽多路訪問技術)介質訪問控制機制。集線器每個接口簡單的收發比特,收到1就轉發1,收到0就轉發0,不進行碰撞檢測。集線器也可以成為是一種網橋 
(3)二層交換機: 
二層交換機工作于OSI模型的第2層(數據鏈路層),故而稱為二層交換機。二層交換技術的發展已經比較成熟,二層交換機屬數據鏈路層設備,可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。 
(4)三層交換機: 
三層交換機就是具有部分路由器功能的交換機,三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發。對于數據包轉發等規律性的過程由硬件高速實現,而像路由信息更新、路由表維護、路由計算、路由確定等功能,由軟件實現。三層交換技術就是二層交換技術+三層轉發技術。傳統交換技術是在OSI網絡標準模型第二層——數據鏈路層進行操作的,而三層交換技術是在網絡模型中的第三層實現了數據包的高速轉發,既可實現網絡路由功能,又可根據不同網絡狀況做到最優網絡性能。 
(5)路由器“ 
路由器(英語:Router,又稱路徑器)是一種電訊網絡設備,提供路由與轉送兩種重要機制,可以決定封包從來源端到目的端所經過的路由路徑(host到host之間的傳輸路徑),這個過程稱為路由;將路由器輸入端的封包移送至適當的路由器輸出端(在路由器內部進行),這稱為轉送。

如果想進一步了解他們之間的區別,請看這篇博客:http://network.51cto.com/art/200509/3798.htm

2.IP地址的分類有哪些,子網掩碼的表示形式及其作用

IP地址編址方案將IP地址空間劃分為A、B、C、D、E五類,其中A、B、C是基本類,D、E類作為多播和保留使用。

我們常用的就是A、B、C三類地址

blob.png

三種地址的子網掩碼的表現形式分別為: 
A 255.0.0.0 
B 255.255.0.0 
C 255.255.255.0 
子網掩碼的作用其實就是為了劃分子網而存在的,比如說C類的子網掩碼是255.255.255.0,我們拿192.168.0.0/24 這個網段來說,如果子網掩碼不是255.255.255.0 二是255.255.255.127 那么我們可以說這2個IP地址 不在一個子網中。

3.計算機網絡的分層模型有哪些,每一層共有及設計到的物理設備有哪些

分層模型主要就是OSI 七層模型和TCP/IP模型,OSI 七層模型是學習時書面的模型,TCP/IP模型是實際在用的模型。我們以TCP/IP模型為例, 
首先,最上層 
應用層 里面有很多應用層協議 http ftp smtp … 
這個層的功能主要用來定義應用程序的存儲轉發規則,或者說是協議,這個層的作用就是為這些應用程序服務,進行封裝和打包工作。這個層用到物理設備就是服務器。應用層主要提供了這些應用基于哪些套接字來運行,需要請求服務器的那些端口。 
第三層 
傳輸層 
傳輸層提供的是TCP協議,UDP協議…,這個層的作用是用來封裝傳輸層首部,這個層與應用層之間有可能有一個半層叫做ssl /tsl 協議層,是為了網絡安全服務的。這個層的主要網絡設備就是路由器 
第二層 
網絡層,網絡層提供網際協議,也就是IP協議,這個層的作用是來封裝網絡層首部,這里會把套接字中的IP地址這一項確定下來,也就是能確定請求服務器的IP地址和源IP地址,這一層的主要的網絡設備就是交換機和路由器。 
第一層 
物理層 這里的物理層包含了真正的物理層和數據鏈路層,這個層的主要作用是封裝物理層首部,這一層設計到的物理設備就是網卡,交換機,集線器,網橋等等。

4、如何將linux主機接入到TCP/IP網絡,請描述詳細步驟。(手動指定的方式)

一、需要配置內容:需要對IP、ROUTER、DNS進行配置,具體配置如下。

二、IP配置:

  靜態指定:

    命令配置:用到的命令是ifconfig。具體使用如下:

    Ifconfig所有活動接口的信息;ifconfig interface指定顯示某接口;ifconfig interface ip/mask給某接口指定IP;ifconfig interface:# ip/mask給某接口指定多個IP。

    文件配置:配置文件在/etc/sysconfig/network_scripts/ifcfg-*。重要參數有DEVICE設備名;BOOTPROTO分配方式;ONBOOT開始是否啟動此設備;IPADDR ip地址;NETMASK掩碼;GATEWAY默認網關;DNS dns地址PEERDNS是否讓DHCP服務器修改/etc/resolv.conf文件中指定的DNS服務器。

三、路由配置:

    命令配置:用到的命令是route。

    route顯示路由信息;route -n不反解到主機名;route add -host host_ip gw next_hop給某主機指定路由;route add -net net_addr gw next_hop給某網絡指定路由。

    文件配置:文件在/etc/sysconfig/network-scripts/route-*。此文件配置比較簡單,只需指定ADDRESS0(ip地址) NETMASK0(掩碼) GATEWAY0(路由)。

四、DNS配置:

    文件配置:通過編輯/etc/resolv.conf文件。nameserver DNS_server_ip,每行一個,最多只能指定3個。在/etc/sysconfig/network_scripts/ifcfg-*的PEERDNS可以指定是否讓dhcp服務器修改此文件。

五、主機名配置:可以通過修改模塊或者寫入內核,但是推薦修改模塊即可,沒必要寫入內核。修改模塊是通過修改/etc/sysconfig/network.HOSTNAME修改。寫入內核是通過echo “”>/proc/sys/kernel/hostname。

六、網絡測試工具:

  常用的測試工具有ping、traceroute、mtr、netstat、ss、ethtool。

  ping可以測試網絡是否通暢,ping -c #-w #(-c指定ping的次數,-w指定等待時間)。

  traceroute HOST 可以追蹤由當前主機到目標主機經過的路由。但實際一般沒有什么效果,因為一般都是被禁止追蹤。

  mtr HOST相當于ping與traceroute。

  netstat -tan以數字格式端口地址顯示所有以tcp協議的連接;netstat -tunl以數字格式端口地址顯示所有監聽的連接;netstat -rn以數字格式端口地址顯示路由表。

  ss是新一代的netstat,其選項與netstat十分相識,ss -tan ,ss -tunl

5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程

一、使用ifconfig 命令進行配置網卡IP

二、使用ip addr 命令進行配置網卡IP

三、直接編輯/etc/sysconfig/network-scripts/ifcfg-eth0-9|ifcfg-enoXXXXX文件來進行ip地址社駐

6、寫一個腳本,使用ping 命令探測172.16.250.1-172.16.250.254之間所有主機的在線狀態

由于無法測試,我這里改成192.168.2.0-192.168.2.254 之間所有主機的在線狀態

blob.png

測試結果如下:

blob.png

7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值

配置文件: 
IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名稱; 
路由的相關配置文件:/etc/sysconfig/networkj-scripts/route-IFACE

blob.png 
ifcfg-IFACE配置文件參數:

DEVICE:此配置文件對應的設備的名稱;
ONBOOT:在系統引導過程中,是否激活此接口;
UUID:此設備的惟一標識;
IPV6INIT:是否初始化IPv6;
BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有dhcp、bootp、static、none;
TYPE:接口類型,常見的有Ethernet, Bridge;
DNS1:第一DNS服務器指向;
DNS2:備用DNS服務器指向;
DOMAIN:DNS搜索域;
IPADDRIP地址;
NETMASK:子網掩碼;CentOS 7支持使用PREFIX以長度方式指明子網掩碼;
GATEWAY:默認網關;
USERCTL:是否允許普通用戶控制此設備;
PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向覆蓋本地手動指定的DNS服務器指向;默認為允許;
HWADDR:設備的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服務來控制接口;

8、如何給網卡接口配置多個地址,有哪些方式

(1)使用ifconfig 命令來更改ip地址 
(2)使用ip addr add命令來更改ip地址 
(3)編輯配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0-9|enoXXXX 文件配置網卡地址

9、常用的網絡管理類工具有哪些,并用示例形勢描述他們的使用方法

ifcfg家族 ifconfig route netstat

(1)ifconfig 命令 接口及地址查看和管理

ifconfig [INTERFACE] 接口可以省略,省略的話,就是查看

blob.png 
]#ifconfig -a 顯示所有接口,包括inactive 狀態的接口,和上面顯示的效果一樣 
ifconfig interface [aftype] options | address 
]#ifconfig IFACE IP/MASK [up|down] 設置網卡接口禁用/啟用 
]#ifconfig IFACE IP netmask NETMASK 設置網卡接口的IP

blob.png

(2)route命令 路由查看及管理

查看 ]#route -n

blob.png

添加: ]#route add [-net}-host] target [netmask Nm] [gw GW] [[dev] if]

blob.png

刪除:#]route del [-net}-host] target [netmask Nm] [gw GW] [[dev] if]

blob.png

(3)netstat命令 查看端口狀態命令

顯示網絡連接 
netstat [–tcp|-t] [–udp|-u] [–udplite|-U] [–sctp|-S] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p] 
-t:TCP協議的相關連接,連接均有其狀態;FSM(Finate State Machine); 
-u:UDP相關的連接 
-w:raw socket相關的連接 
-l:處于監聽狀態的連接 
-a:所有狀態 
-n:以數字格式顯示IP和Port; 
-e:擴展格式 
-p:顯示相關的進程及PID;

10、Linux 系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的

軟件包的管理方法: 
rpm : 
安裝 
rpm -ivh PACKEG 
卸載 
rpm -e PACKEG 
升級 
rpm -uvh PACKEG 
yum: 
安裝 
yum -y install PACKEG_NAME 
卸載 
yum remove PACKEG_NAME 
升級 
yum update PACKEG_NAME 
yum upgrade PACKEG_NAME

11、如何使用發行版光盤作為yum repository 請描述該過程

步驟:

1.在/etc/yum.repo.d/目錄下新增一個文本文件,以*.repo結尾
2.編輯這個文件,顯示如下:

blob.png

3.使用yum repolist 命令加載倉庫即可

blob.png

12、寫一個腳本,完成以下功能

(1) 假設某目錄(/etc/rc.d/rc3.d) 下分別有K開頭的文件和S開頭的文件若干 
(2)顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串 
(3)顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串 
(4)分別統計S開頭和K開頭的文件各有多少

blob.png

測試結果:

blob.png

13、寫一個腳本,完成以下功能

(1)腳本能接受用戶名作為參數 
(2)計算此些用戶的ID之和

blob.png 
測試結果:

blob.png

14、寫一個腳本

(1)傳遞一些目錄給此腳本 
(2)逐個顯示每個目錄的所有一級文件或子目錄的內容類型 
(3)統計一共有多少個目錄;且一共顯示了多少個文件的內容類型

blob.png 
測試結果:

blob.png

15、寫一個腳本

通過命令行傳遞一個參數給腳本,參數為用戶名 
如果用戶的id號大于等于500 則顯示此用戶為普通用戶

blob.png

16、寫一個腳本

(1)添加10個用戶user1-user10 密碼同用戶名 
(2)用戶不存在時才添加,存在時則跳過 
(3)最后顯示本次共添加了多少個用戶

blob.png

17、寫一個腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來

我這里用192.168.0.0-192.168.0.100 這個網段來測試,方便測試

blob.png

18、打印九九乘法表

blob.png 
一種是for循環的方法,一種是while循環的方法,

原創文章,作者:luobo3692003,如若轉載,請注明出處:http://www.www58058.com/59258

(0)
luobo3692003luobo3692003
上一篇 2016-11-15
下一篇 2016-11-15

相關推薦

  • Centos 7&6分布式lamp平臺

    Centos 7&6分布式lamp平臺 Centos 7&6分布式lamp平臺 一、環境介紹 lamp的實現方式 本文安裝方式 二、Centos 7 分布式lamp平臺,module方式 安裝httpd和php xcache phpMyAdmin wordpress https的phpMyAdmin 環境規劃 主機2配置mariadb 主機1…

    Linux干貨 2016-04-25
  • DNS服務器搭建

    1. 配置正向解析 1.安裝bind yum install bind bind-utils -y 2.配置/etc/named.conf,需要修改的地方 listen-on port 53 { 127.0.0.1; 192.168.42.135; }; allow-query { any; }; dnssec-enable no; dnssec-valid…

    Linux干貨 2017-05-24
  • awk

    awk是一種編程語言,用于在linux/unix下對文本和數據進行處理。數據可以來自標準輸入(stdin)、一個或多個文件,或其它命令的輸出。它支持用戶自定義函數和動態正則表達式等先進功能,是linux/unix下的一個強大編程工具。它在命令行中使用,但更多是作為腳本來使用。awk有很多內建的功能,比如數組、函數等,這是它和C語言的相同之處,靈活性是awk最大的優勢。

    Linux干貨 2018-01-02
  • 端口轉發實例

    什么是端口轉發?      端口轉發(Port forwarding),有時被叫做隧道,是安全殼(SSH) 為網絡安全通信使用的一種方法。端口轉發是轉發一個網絡端口從一個網絡節點到另一個網絡節點的行為,其使一個外部用戶從外部經過一個被激活的NAT路由器到達一個在私有內部IP地址(局域網內部)上的一個端口。 為什么需要端口轉發? …

    2017-04-13
  • 軟/硬鏈接的“愛恨糾葛”

    硬鏈接 概念 硬鏈接(hard link,也稱鏈接)是對同一個文件系統中的一個文件的連接,它關聯的是一個文件的inode(節點)。linux中每一個文件系統都有其一套獨立而完整的inode“機制”。同一個文件系統中,inode是文件存在的唯一標識。文件名正是通過映射一個文件的inode號來關聯一個文件。當然一個文件也可以同時擁有不同的幾個文件名,因此通俗的來…

    Linux干貨 2016-10-20
  • ldirectord 結合ipvsadm 配置nat,dr模型

    ldirectord 結合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同時用于做為sorry…

    Linux干貨 2014-01-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-16 15:31

    寫的很好,有多種辦法來解決問題,繼續保持,可以嘗試不使用圖片,用shell腳本試試那樣會更好

欧美性久久久久