Linux網絡屬性配置

本次操做的環境實在CentOS67的平臺上。
linux

linux系統上,對於網絡屬性的配置命令有不少。各有各的喜好,本人就對目前linux系統上一些經常使用配置linux網絡屬性的命令進行簡單總結。經常使用的命令有ifcfgipssnmclivim

等命令。centos

網絡屬性配置之ifconfig服務器

先對linux的老貴族網絡屬性管理的命令ifcfg進行簡析說明。對於這個命令只要接觸linux系統,應該都會有所瞭解。雖然它年代久遠,可是仍舊不要抹去它給你們帶來的便捷。對於ifconfigconfigure a network interface)命令,我我的的解釋是配置網絡接口。Ifconfig命令所經常使用的選項參數其實很少。經常使用的以下。網絡

ifconfig [interface]app

 #ifconfig iface [up|down]ssh


ifconfig interface [aftype] options | address ...socket

# ifconfig iface ip/mask [up]tcp

# ifconfig iface ip netmask mask ide

對上面的一些面料進行簡單的演示說明使用方法。以下:

[root@www ~]# ifconfig -a———顯示系統上全部網絡服務的使用狀況。

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D9:CC:36  

          inet addr:10.1.1.238  Bcast:10.1.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed9:cc36/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:506005 errors:0 dropped:0 overruns:0 frame:0

          TX packets:102167 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:348119379 (331.9 MiB)  TX bytes:39244293 (37.4 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:20 errors:0 dropped:0 overruns:0 frame:0

          TX packets:20 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:1470 (1.4 KiB)  TX bytes:1470 (1.4 KiB)

[root@www ~]# ifconfig eth0——顯示單個網絡的使用狀態

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D9:CC:36  

          inet addr:10.1.1.238  Bcast:10.1.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed9:cc36/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:506060 errors:0 dropped:0 overruns:0 frame:0

          TX packets:102186 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:348124441 (331.9 MiB)  TX bytes:39248151 (37.4 MiB)

此外ifconfig命令還能夠爲網卡配置IP地址,可是ifconfig命令配置的ip地址是零時的,只能零時生效,一丹服務器重啓,配置的ip地址就會消失。格式以下:

ifconfig interface [aftype] options | address ...

# ifconfig iface ip/mask [up]

# ifconfig iface ip netmask mask

實際演示以下:

[root@www ~]#ifconfig eth0 10.1.1.248/24 up

[root@www ~]# ifconfig eth0

\eth0      Link encap:Ethernet  HWaddr 00:0C:29:D9:CC:36  

          inet addr:10.1.1.248  Bcast:10.1.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fed9:cc36/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:506603 errors:0 dropped:0 overruns:0 frame:0

          TX packets:102390 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:348182070 (332.0 MiB)  TX bytes:39264902 (37.4 MiB)

爲ip地址建立多個IP地址:以下

[root@www ~]# ifconfig eth0:0 192.168.1.2/24 

[root@www ~]# 

[root@www ~]# 

[root@www ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D9:CC:36  

          inet addr:172.16.249.253  Bcast:172.16.255.255  Mask:255.255.0.0

          inet6 addr: fe80::20c:29ff:fed9:cc36/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:41402 errors:0 dropped:0 overruns:0 frame:0

          TX packets:21063 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:3707658 (3.5 MiB)  TX bytes:2713673 (2.5 MiB)

 

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:D9:CC:36  

          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

 

能夠發現,IP地址配置已經完成生效了。對於ifconfig命令其實很簡單,沒過多的使用要求。

網絡屬性配置之ip

對於ipshow / manipulate routing, devices, policy routing and tunnel)命令我我的的翻譯是顯示路由器設備,策略路由等配置信息。Ip命令,我我的認爲它很是的強大。它擁有不少的選項參數。接下來,對它一些經常使用的選項參數進行簡單的說明。

 ip [ OPTIONS ] OBJECT { COMMAND | help }

       OBJECT := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor }

       OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |  inet |  ipx  link } 

 

一、首先,先說說link可以跟的options.對於ip link(network device configuration),我我的的翻譯是網絡服務配置。接下對其一些經常使用的進行簡單的解釋說明,以下:

ip [ OPTIONS ] link  { COMMAND | help }

ip link delete DEVICE type TYPE [ ARGS ]——刪除連接

ip link set { DEVICE } { up | down  }

     alias NAME ——設備添加別名

ip link show [ DEVICE | group GROUP ]——查看設備鏈接狀況。

接下來對上面的簡單解析,演示一下。

[root@localhost ~]# ip link show——顯示全部設備的使用狀況

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000

    link/ether 00:0c:29:1c:70:8e brd ff:ff:ff:ff:ff:ff

[root@www ~]# ip link set eth0 alias eth0:0

[root@www ~]# 

[root@www ~]# ip link 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

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:d9:cc:36 brd ff:ff:ff:ff:ff:ff

alias eth0:0——設備的別名建立成功。

[root@www ~]#

二、接下來講明ip OBJECT 之addr的一些經常使用選項參數。想來ip命令使用最多也就是ipaddr的配置等一下操做,由於對其要重點的掌握。Ip addr(ip address - protocol address management.)我的翻譯的意思是地址配置協議管理。

首選說明其添加網絡屬性的一些命令的解釋,以下:

 ip addr { add | del } IFADDR dev STRING

 ip addr { show | flush } [ dev STRING ] [ scope SCOPE-ID ][ label PATTERN]

 [ scope SCOPE-ID ]有四個做用域:

    global - the address is globally valid.——應用於全局

site - (IPv6 only) the address is site local, i.e. it is valid inside this site.

這項是對ipv6纔有效,因此不必去過多瞭解。

    link - the address is link local, i.e. it is valid only on this device.——僅鏈接有效

    host - the address is valid only inside this host.——僅對主機自己有效

接下來對上面的命令進行簡單的演示:

[root@www ~]# ip addr add  192.168.1.22/32 dev eth0——添加ip地址。

[root@www ~]# 

[root@www ~]# ip addr show eth0——查看ip地址命令

1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:d9:cc:36 brd ff:ff:ff:ff:ff:ff

    inet 172.16.249.253/16 brd 172.16.255.255 scope global eth0

    inet 172.16.30.2/32 scope global eth0——可以發現,在沒有指定做用域的時候,默認是屬於全局的。

    inet6 fe80::20c:29ff:fed9:cc36/64 scope link 

       valid_lft forever preferred_lft forever

既然能添加IP地址,那麼相對應的也能刪除ip地址。使用格式以下;

ip addr del IPDDR dev eth0

 

[root@www tmp]# ip addr del 172.16.249.253 dev eth0

Warning: Executing wildcard deletion to stay compatible with old scripts.

         Explicitly specify the prefix length (172.16.249.253/32) to avoid this warning.

         This special behaviour is likely to disappear in further releases,

         fix your scripts!

 

Ip地址刪除以後,原來的主要ip就會被刪除。以前配置的全局IP地址就會被頂上。

[root@www ~]# ip addr show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:d9:cc:36 brd ff:ff:ff:ff:ff:ff

    inet 172.16.30.2/32 scope global eth0

    inet6 fe80::20c:29ff:fed9:cc36/64 scope link 

       valid_lft forever preferred_lft forever

 

對於刪除IP地址的命令除了del以外,還可使用flush選項參數。它也是刪除命令之意。執行這條命令以後,對應網絡接口的ip地址都會被清楚。使用而是以下:

ip addr flush IPADDR

[root@www ~]#ip addr flush dev eth0 secondary

 

三、既然能能夠管理端口的ip地址,那麼相對應的也能夠管理route。可以爲服務器指定路由條路。其命令的使用格式以下:

ip route add TARFET via GW dev IFACE SRC SOURCE_IP

[root@www ~]# ip route add 192.168.1.1/32 via 172.16.0.1 dev eth0

[root@www ~]# 實際使用格式如上

[root@www ~]# 

[root@www ~]# ip route show——查看route詳細信息

192.168.1.1 via 172.16.0.1 dev eth0 

172.16.0.0/16 dev eth0  proto kernel scope link  src 172.16.249.253  metric 1 

default via 172.16.0.1 dev eth0  proto static 

[root@www ~]# 

其實除了可以配置路由以外,還能夠爲網絡端口指定默認網絡。使用格式以下:

ip route add default via GW dev IFACE

[root@www ~]# ip route add default via 172.16.0.1 dev eth0

[root@www ~]# 實際使用格式如上

[root@www ~]# ip route show

192.168.1.1 via 172.16.0.1 dev eth0 

172.16.0.0/16 dev eth0  proto kernel scope link  src 172.16.249.253  metric 1 

default via 172.16.0.1 dev eth0——添加默認路由成功。

 

既然能添加ip地址和路由地址,那麼也能夠刪它們。接下來就去刪除它們。

[root@www ~]# ip add del 192.168.1.1 dev eth0

Warning: Executing wildcard deletion to stay compatible with old scripts.

Explicitly specify the prefix length (192.168.1.1/32) to avoid this warning.

 This special behaviour is likely to disappear in further releases,fix your scripts!

[root@www ~]# 

[root@www ~]# ip addr show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:d9:cc:36 brd ff:ff:ff:ff:ff:ff

inet 172.16.249.253/16 brd 172.16.255.255 scope global eth0

經過查看IP地址表,就能很好的發現。已經被刪除了,至於路由刪除其實也ip地址刪除相似。其實ip命令還有不少選項參數,這裏只顯示了一部分,其餘能夠經過man命令查看其使用狀況。

 

網絡屬性配置之查看命令ss

 

接下來講說網絡狀態查看工具,其實工具也有幾個。如netstat和ss命令。其實這另個命名的使用方法很接近。Netstat只早先用的命令,ss後起之秀。接下我主要說說ss的命令簡單使用方法。

先來對ss - another utility to investigate sockets命令解釋下。翻譯成中文的意思是

另外設備控制顯示工具。

格式:ss [option]...[FILTER]

選項:

-t TCP

-u UDP

-a ALL

-l LISTEN

-n 數字格式

-p 全部進程PID

-m 內存

下面是ss一些經常使用格式

ss -t -a

     Display all TCP sockets.

顯示全部的tcp套接字信息

ss -u -a

      Display all UDP sockets.

顯示全部的UDP套接字信息

ss -o state established ’( dport = :ssh or sport = :ssh )’

      Display all established ssh connections.

顯示全部的鏈接到ssh源端口或者目的端套接字信息

 

接下來對上面簡單說明的進行演示:

[root@www etc]# ss -tan

State         Recv-Q  Send-Q     Local Address:Port              Peer Address:Port 

LISTEN      0         128        :::22                         :::*  

LISTEN      0         128        *:22                         *:*  

LISTEN      0         52       172.16.249.253:22              172.16.250.168:52871  

LISTEN      0         0        172.16.249.253:22              172.16.250.168:52713

對於ss的用法其實和netstat很想死,二者掌握一個便可。

 

網絡屬性配置之配置文件

就我的而言,其實網絡屬性的配置很簡單。可是仍是對其裏面的參數作簡單的說明介紹。網絡配置文件的所在位置以下:

[root@www network-scripts]# pwd

/etc/sysconfig/network-scripts

[root@www network-scripts]# ll ifcfg-eth0 

-rw-r--r--. 3 root root 174 Aug 15 18:31 ifcfg-eth0

centOS6上,網絡屬性的配置文件是ifcfg-eth0,可是在centOS7上,文件名不同。這裏就不過多介紹。接下來對其裏面的配置進行簡單說明:

[root@www network-scripts]# vim ifcfg-eth0 

DEVICE=eth0——設備名稱

BOOTPROTO=dhcp——網卡以dhcp協議的方式獲取IP,有三種選擇{static|none|dhcp}

HWADDR=00:0c:29:d9:cc:36——網卡的物理地址

NM_CONTROLLED=yes——NMNetworkManager的簡寫;此網卡是否接受NM控制;

ONBOOT=yes——開機是否啓動網卡服務

TYPE=Ethernet——網絡類型

UUID="c6c05d52-767a-47cc-9e5d-59a8e4cd8b7c"——網卡的ID

IPV6INIT=no——是否開啓ipv6的功能

USERCTL=no——普通用戶是否能夠控制;

PEERDNS=yes——是否容許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

除此以外,如何bootproto採起的是none或者static的時候,配置文件中還會有一些其餘的選項。以下

IPADDR=192.168.10.10——手動配置的ip地址
NETMASK=255.255.255.0——ip地址的子網掩碼

GATEWAY=192.168.10.1——默認網關

DNS1=202.106.0.20——第一DNS

DNS2=8.8.8.8——備用DNS

 

若是在網絡屬性的配置文件裏設置了DNS,那麼在/etc/resolv.conf就不會生效。由於它的優先級沒有網卡的高

[root@www network-scripts]# ll /etc/resolv.conf 

-rw-r--r-- 1 root root 103 Aug 25 15:57 /etc/resolv.conf

 

既然網卡的IP地址配置解釋了,順帶把路由的配置文件也簡單的提下。默認狀況下,centos6上是沒有提供路由的配置文件,須要本身去建立。/etc/sysconfig/network-scripts/route-IFACE

兩種風格:

(1) TARGET via GW

(2) 每三行定義一條路由

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

[root@www ~]# ip route show

192.168.0.0/24 via 172.16.0.1 dev eth0  proto static 

相關文章
相關標籤/搜索