網絡管理之配置文件及一些命令的應用

IP配置、信息、相關命令

   IP地址

    它們可唯一標識 IP 網絡中的每臺設備

    每臺主機(計算機、網絡設備、外圍設備)必須具有唯一的地址

    IP 地址由兩部分組成:

        ? 網絡ID:

            ? 標識網絡

            ? 每個網段分配一個網絡ID

        ? 主機 ID:

            ? 標識單個主機

            ? 由組織分配給各設備

IPv4地址格式:點分十進制記法

blob.png

IP地址分類

    A 類:

         0 000 0000 – 0 111 1111: 1-127

         網絡數:126, 127

         每個網絡中的主機數:2^24-2

         默認子網掩碼:255.0.0.0

         私網地址:10.0.0.0

    B 類:

         10 00 0000 – 10 11 1111 :128-191

         網絡數:2^14

         每個網絡中的主機數:2^16-2

         默認子網掩碼:255.255.0.0

         私網地址:172.16.0.0-172.31.0.0

    C 類:

         110 0 0000 – 110 1 1111: 192-223

         網絡數:2^21

         每個網絡中的主機數:2^8-2

         默認子網掩碼:255.255.255.0

         私網地址:192.168.0.0-192.168.255.0

    D 類:組播

         1110 0000 – 1110 1111: 224-239

    E 類:

         240-255

公共IP地址

blob.png

私有IP地址

blob.png

特殊地址

0.0.0.0

0.0.0.0 不是一個真正意義上的IP 地址。它表示一個集合:所有不清楚的主機和目的網絡。

255.255.255.255

限制廣播地址。對本機來說,這個地址指本網段內( 同一廣播域) 的所有主機

127.0.0.1 ~127.255.255.254

本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的數據包

224.0.0.0 到239.255.255.255

組播地址,224.0.0.1特指所有主機,224.0.0.2特指所有路由器。224.0.0.5指OSPF路由器,地址多用于一些特定的程序以及多媒體程序

169.254.x.x

如果Windows 主機使用了DHCP自動分配IP 地址,而又無法從DHCP 服務器獲取地址,系統會為主機分配這樣地址。

有子網的子網掩碼

blob.png

子網掩碼的八位

blob.png

可變長度的子網掩碼

blob.png

劃分子網

    公式1

        主機數=2^主機位數(掩碼中0個數=32-網絡位數)-2

    公式2

        劃分子網:網絡ID位向主機ID位M借位,借N位,劃分子網2^N個,每個子網主機數2^(M-N)-2

    公式3

        網絡ID=IP地址^子網掩碼

跨網絡通信

    跨網絡通信:路由

    路由分類:

        主機路由

        網絡路由

        默認路由

動態主機配置協議DHCP

blob.png

基本網絡配置

    將Linux 主機接入到網絡,需要配置網絡相關設置。

    一般包括如下內容:

        主機名

        IP/mask  必須是唯一的

        路由:默認網關

        DNS服務器:

            主DNS 服務器

            次DNS 服務器

            第三DNS服務器

網絡配置方式

    靜態指定:

        ifcfg: ifconfig, route, netstat

        ip: object {link, addr, route}, ss, tc

        system-config-network-tui (setup)  centos6的字符工具

blob.png

        配置文件

        CentOS 7: 網絡配置工具

            nmcli, nmtui(字符工具)

blob.png

nm-connection-editor(圖形工具)  如下: 

blob.png

    動態分配

        DHCP: Dynamic Host Configuration Protocol



小實驗:更改網卡名 

1.找出更改網卡名的文件

blob.png

紅框內的文件是用來命名網卡的文

2.然后用vim編輯器改一下名字

blob.png

紅框內原來的名字是eth0,改完之后重啟下虛擬機  原網卡名和現網卡名圖:

blob.png

blob.png

但是只更改這個文件  網卡是不能用的 還要改網卡的配置文件

blob.png

而我們需要修改的文件就是紅框內的文件 vim打開它

blob.png

修改了這兩處文件  修改完之后 存盤退出  網卡就可以正常使用了

blob.png

圖形界面看一下網卡名改了  這里的名字就是由網卡配置文件里 NAME那一行來決定的

x修改網卡地址:  在vim /etc/sysconfig/network-scripts/ifcfg-eth0里修改文件  具體如下:

blob.png

添加了圖中紅方框內的五行文件   然后啟動服務:

blob.png

就完成了

而如果我們要更改mac地址需要:

blob.png

把原來的HWADDR改成MACADDR然后啟動服務后  新mac地址生效

        配置網卡必須要寫的有以下幾個參數:     其他的可有可無

blob.png

當然了  上述是靜態配置網卡

   自動分配IP地址:  只需要寫兩行

DEVICE=eth0
BOOTPROTO=dhcp

這些配置寫完 要重啟下虛擬機才能生效

靜態配置網卡 需要的參數

DEVICE=eth0

IPADDR=192.168.0.1

PREFIX=24(NETMASK=255.255.255.0)

GATEWAY=192.168.1.254

DNS1=8.8.8.8

DNS2=8.8.4.4

后面的這些地址 可以自己指定

自動分配IP地址 需要的參數

DEVICE=eth0

BOOTPROTO=dhcp



 如果你的電腦需要在靜態、自動獲取IP之間轉換的話 可以再網絡里設置

blob.png

在IPv4屬性里備用配置設置一下用戶配置

blob.png



設備別名

    為每個設備別名生成獨立的接口配置文件

        ? 關閉NetworkManager 服務 service NetworkManager stop(臨時關閉,下次開機自動啟動);chkconfig NetworkManager off(永久關閉 開機不啟動)

        ? ifcfg-ethX:xxx

        ? 必須使用靜態聯網

            DEVICE=eth0:0

            IPADDR=10.10.10.10

            NETMASK=255.0.0.0

            ONPARENT=yes

    注意:service network restart 生效

    參考/usr/share/doc/initscripts-*/sysconfig.txt

網絡接口配置-bonding

    Bonding

        就是將多塊網卡綁定同一IP 地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP 地址是不可能的。通過bonding ,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址

bonding的工作模式

    ·Mode 0 (balance-rr)

        輪轉(Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力

    ·Mode 1 (active-backup)

        活動- 備份(主備)策略:在綁定中,只有一個slave 被激活。當且僅當活動的slave 接口失敗時才會激活其他slave 。為了避免交換機發生混亂此時綁定的MAC 地址只有一個外部端口上可見

    ·Mode 3 (broadcast)

        廣播策略:在所有的slave 接口上傳送所有的報文。本模式提供容錯能力

bonding的配置

    創建bonding 設備的配置文件

        /etc/sysconfig/network-scripts/ifcfg-bond0

            DEVICE=bond0

            BOOTPROTO=none

            BONDING_OPTS= “miimon=100(ms) mode=0”

blob.png

        /etc/sysconfig/network-scripts/ifcfg-eth0

            DEVICE=eth0

            BOOTPROTO=none

            MASTER=bond0

            SLAVE=yes

            USERCTL=no網絡管理之配置文件及一些命令的應用

                               blob.png

    miimon 是用來進行鏈路監測的。如果miimon=100 ,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路

    ? 查看bond0 狀態:/proc/net/bonding/bond

blob.png

            當前活動的網卡為eth0 為mode1模式

    ? 關于bonding 的詳細配置請參照

        /usr/share/doc/kernel-doc-

        version/Documentation/networking/bonding.txt

配置bond服務的一些命令

cd /etc/sysconfig/network-scripts
vi ifcfg-bond0
DEVICE=bond0
IPADDR=10.100.100.100
PREFIX=16
BONDING_OPTS="miimon=100 mode=1"
vi ifcfg-eth0
DEVICE=eth0
MASTER=bond0
SLAVE=yes
vi ifcfg-eth1
DEVICE=eth1
MASTER=bond0
SLAVE=yes



網卡名稱

     網絡接口識別并命名相關的udev 配置文件:

        /etc/udev/rules.d/70-persistent-net.rules

    查看網卡:

        dmesg |grep –i eth

        ethtool -i eth0

blob.png

    卸載網卡驅動:

        modprobe -r e1000

        rmmod e1000

    裝載網卡驅動:

        modprobe e1000

網卡別名

    對虛擬主機有用

    將多個IP 地址綁定到一個NIC上

        eth0:1 、eth0:2、 、 eth0:3

    ifconfig 命令:

        ifconfig eth0:0 192.168.1.100/24 up

             定義了一個網卡別名  如圖:

blob.png

如果把命令中的“:”去掉  會暫時把網卡地址更改

        ifconfig eth0:0 down刪除網卡

    ip 命令

       配置Linux的網絡屬性

        ip addr add 172.16.1.2/16 dev eth0

        ip addr add 172.16.1.1/16 dev eth0 label eth0:0

        ip addr add 172.16.1.2/16 dev eth0 label eth0:0

        ip addr del 172.16.1.1/16 dev eth0 label eth0:0

        ip addr flush dev eth0 label eth0:0


        ip – show / manipulate routing, devices, policy routingand tunnels

        ip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }

        ip link – network device configuration  查看網卡屬性

blob.png

            set dev IFACE

              可設置屬性:

                up and down :激活或禁用指定接口

                ifup/ifdown

            show [dev IFACE] :指定接口

                 [up]僅顯示處于激活狀態的接口

        ip addr { add | del } IFADDR dev STRING  添加/刪除IP地址  可以添加多個地址

blob.png

                [label LABEL] :添加地址時指明網卡別名

                [scope {global|link|host}] :指明作用域

                        global: 全局可用

                        link: 僅鏈接可用

                        host: 本機可用

                [broadcast ADDRESS] :指明廣播地址

        ip address show – look at protocol addresses

                [dev DEVICE]

                [label PATTERN]

                [primary and secondary]

        ip address flush – 使用格式同show

        ip addr add 172.16.100.100/16 dev eth0 label eth0:0  在eth0上添加IP地址 名字為eth0:0

        ip addr del 172.16.100.100/16 dev eth0 label eth0:0  刪除eth0:0的IP地址

        ip addr flush dev eth0 label eth0:0  把eth0上的IP地址全部清空

blob.png

網絡配置文件

    IP 、MASK 、GW 、DNS 相關配置文件:

            /etc/sysconfig/network-scripts/ifcfg-IFACE

    路由相關的配置文件:

            /etc/sysconfig/network-scripts/route-IFACE

    /etc/sysconfig/network-scripts/ifcfg-IFACE: :

        說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt

            DEVICE :此配置文件應用到的設備

            HWADDR :對應的設備的MAC 地址

            BOOTPROTO :激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp

            NM_CONTROLLED :NM 是NetworkManager 的簡寫,此網卡是否接受NM 控制;建議CentOS6 為“no”

    ONBOOT :在系統引導時是否激活此設備

    TYPE :接口類型;常見有的Ethernet, Bridge

    UUID :設備的惟一標識

    IPADDR :指明IP 地址

    NETMASK :子網掩碼

    GATEWAY: 默認網關

    DNS1 :第一個DNS 服務器指向

    DNS2 :第二個DNS 服務器指向

    USERCTL :普通用戶是否可控制此設備

    PEERDNS :如果BOOTPROTO 的值為“dhcp” ,是否允許dhcp server 分配的dns 服務器指向信息直接覆蓋至/etc/resolv.conf

dns名字解析

    /etc/resolv.conf

        nameserver DNS_SERVER_IP1

        nameserver DNS_SERVER_IP2

        nameserver DNS_SERVER_IP3

blob.png

    /etc/nsswitch.conf

        與/etc/hosts 相比優先于DNS

    正解:FQDN–>IP

          # dig -t A FQDN

          # host -t A FQDN

    反解:IP–>FQDN

          # dig -x IP

          # host -t PTR IP

  netstat命令和ss命令的用法和區別

netstat命令 ss命令

  netstat – Print network connections, routing tables, interface statistics, masquerade connections, and multicast  memberships

    顯示網絡連接:

        netstat [–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]

            -t: tcp 協議相關

            -u: udp 協議相關

            -w: raw socket 相關

            -l: 處于監聽狀態

            -a: 所有狀態

            -n: 以數字顯示IP 和端口;

            -e :擴展格式

            -p: 顯示相關進程及PID

    常用組合:

            -tan, -uan, -tnl, -unl

    顯示路由表:

        netstat {–route|-r} [–numeric|-n]

            -r: 顯示內核路由表

            -n: 數字格式

    顯示接口統計數據:

        netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

            # netstat -i

            # netstat –I=IFACE

            # ifconfig -s eno16777736

這個命令是比較早的命令  現在用的很少

格式:ss [OPTION]… [FILTER]

netstat 通過遍歷proc 來獲取socket 信息, ,ss 使用netlink 與內核tcp_diag模塊通信獲取socket 信息。

選項:

    -t: tcp 協議相關

    -u: udp 協議相關

    -w: 裸套接字相關

    -x :unix sock 相關

    -l: listen 狀態的連接

    -a: 所有

    -n: 數字格式

    -p: 相關的程序及PID

    -e: 擴展的信息

    -m :內存用量

    -o :計時器信息

常用組合:

      -tan, -tanl, -tanlp, -uan

FILTER : [ state TCP-STATE ] [ EXPRESSION ]

TCP 的常見狀態:

   tcp finite state machine:

       LISTEN: 監聽

       ESTABLISHED :已建立的連接

       FIN_WAIT_1

       FIN_WAIT_2

       SYN_SENT

       SYN_RECV

       CLOSED

    EXPRESSION:

       dport =

       sport =

       示例:’( dport = :ssh or sport = :ssh )’

常見用法:

     ss -l 顯示本地打開的所有端口

     ss -pl 顯示每個進程具體打開的socket

     ss -t -a 顯示所有tcp socket

     ss -u -a 顯示所有的UDP Socekt

     ss -o state established '( dport = :ssh or sport =:ssh)' 顯示所有已建立的ssh 連接

     ss -o state established '( dport = :http or sport =:http)' 顯示所有已建立的HTTP 連接

     ss -s 列出當前socket詳細信息

route命令:路由管理命令

    查看:route -n

    添加:route add

          route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

    目標:192.168.1.3 網關:172.16.0.1

        # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

    目標:192.168.0.0 網關:172.16.0.1

        # route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

        # route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

    默認路由,網關:172.16.0.1

        # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

        # route add default gw 172.16.0.1

    刪除:route del

        route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

    目標:192.168.1.3 網關:172.16.0.1

        # route del -host 192.168.1.3

    目標:192.168.0.0 網關:172.16.0.1

        # route del -net 192.168.0.0 netmask 255.255.255.0

    默認路由,網關:172.16.0.1

        # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

        # route add default gw 172.16.0.1

    刪除:route del

        route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

    目標:192.168.1.3 網關:172.16.0.1

        # route del -host 192.168.1.3

    目標:192.168.0.0 網關:172.16.0.1

        # route del -net 192.168.0.0 netmask 255.255.255.0

  ip route – routing table management

     添加路由: :ip route add

      ip route add TARGET via GW dev IFACE src SOURCE_IP

        TARGET:

          主機路由:IP

          網絡路由:NETWORK/MASK

            ip route add 192.168.0.0/24 via 172.16.0.1

            ip route add 192.168.1.13 via 172.16.0.1

        添加網關:ip route add default via GW dev IFACE

           ip route add default via 172.16.0.1

     刪除路由:ip route delete

               ip route del TARGET

     顯示路由:ip route show|list

     清空路由表:ip route flush [dev IFACE] [via PREFIX]

                 ip route flush dev eth0

原創文章,作者:舊城以西,如若轉載,請注明出處:http://www.www58058.com/44492

(0)
舊城以西舊城以西
上一篇 2016-09-22 10:04
下一篇 2016-09-22 15:54

相關推薦

  • 子網掩碼快速劃分-心算

    問題狀況: 不管作為一名網絡工程師還是一名運維工程師,快速心算劃分出網絡掩碼是必備得技能, ???? 為什么要進行子網掩碼劃分? 純二層環境不能隔離廣播 有安全 管理方面的問題 解決辦法:在二層環境下增加三層設備 將原本的一個主類網絡號劃分成多個子網 ? ? 掩碼基礎知識: ????注意:此步沒記住不要往下進行 ????死記硬背1: ????2^0=1 ??…

    Linux干貨 2017-03-26
  • N25期–第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; fdisk /dev/sda n p 2 enter +10G w partx -a /dev/sda (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs -t ext4 -…

    Linux干貨 2017-02-20
  • 防火墻原理以及iptables重要實踐

    防火墻 主機間通信大致過程: 請求報文由客戶端IP+PORT和服務器端IP+PORT構成。當客戶端網絡地址和服務端地址在同一網段時,不需要經由路由轉發,可以直接到目標服務器,再經由服務器端口請求道所需資源; 當服務器端和客戶端不在同一網段時。目標IP和源IP是不會改變的,會經由互聯網中的路由器,按照其的路由表,指向該路由器的下一跳主機,知道找到服務器端所在網…

    2017-06-18
  • N21-兔鍋-第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。     cp -a /etc/skel /home/tuser1     chmod g-x /home/tuser1/     chmod o-x /home/t…

    Linux干貨 2016-07-26
  • 初識Linux基礎

    一:計算機的組成及其基本功能 計算機主要由五大基礎部件組成:控制器,運算器,存儲器,輸入設備,輸出設備. 控制器:計算機的核心組件,協調各程序的運行,對計算機的各項資源進行控制分配; 運算器:計算機實現算術運算以及邏輯運算的部件; 存儲器:計算機用來存放數據和程序的基本部件。 存儲器由若干存儲單元組成,每個存儲單元都有一個地址,計算機通過地址對存儲單元進行讀…

    Linux干貨 2018-03-04
  • 用戶和組管理

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@suywien ~]# who | cut -d ‘ ‘ -f1 | uniq -c 2 root [root@suywien ~]# 2、取出最后登錄到當前系統的用戶的相關信息。 [root@suywien ~]# who | tail -1 | cut…

    Linux干貨 2018-03-18
欧美性久久久久