Linux之網絡管理

Linux之網絡管理

 

 

在學習linux的過程中,Linux網絡的管理和配置中是很重要的,幾乎學習的后期都離不開網絡的概念和配置,如集群中的使用,學習好Linux網絡至關重要。

 

 

Linux網絡IP地址有兩種配置方式:靜態指定和動態分配

動態分配就是利用DHCP服務器,動態的給linux主機分配IP地址。靜態指定可以通過命令配置臨時的IP和相應的NETMASK,GATEWAY,DNS等,也可以通過修改配置文件做相應的配置。

 

 

一.通過命令暫時配置linux網絡

CentOS6網絡接口命名方式:

以太網:eth[0,1,2,…]

 

 

1.ifconfig命令:

ifconfig – configure a network interface

ifconfig [interface]

ifconfig:顯示當前系統上激活的網絡接口信息

ifconfig interface:顯示指定的網絡接口信息

ifconfg -a:顯示系統上的網絡接口信息

ifconfig interface up|down:啟動或關閉一個網絡接口

ifconfig interface [aftype] options | address …

ifconfig interface IP/mask [up]

ifconfig interface IP netmask MAKE

這些修改只是暫時的,重啟系統之后就會失效。

 

 

2.route命令:

route – show / manipulate the IP routing table

route:顯示和操作IP路由表

a.查看路由:route -n

b.添加路由:route add

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

c.刪除路由:route del

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

eg:route del -host 192.168.1.8

或者:route del -host 192.168.1.8 gw 172.16.0.1 dev eth1

routedel -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

d.將linux主機接入到網絡中,需要用到IP/MASK、路由設備和DNS服務器。而Linux系統中的DNS服務器指定是在一個文件中:

/etc/resolv.conf

nameserver NDS_SERVERIP

nameserver NDS_SERVERIP

nameserver NDS_SERVERIP

可以指定多個DNS服務器的IP。查看DNS服務器的域名解析命令有:dig和host

正向解析:FQDN:完全合格域名–>IP

dig -t A FQDN

host -t A FQDN

反向解析:IP–>FQDN

dit -x IP

host -t PTR IP

 

 

3.netstat命令:

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相關(raw socket原始套接字,和其他套接字不同之處在于它工作在網絡層和數據層,而其他套接字工作在傳輸層,只能進行傳輸層數據操作。常使用raw socket 進行數據監聽)

-l:處于監聽狀態

-a:所有連接狀態

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

-e:擴展格式

-p:顯示相關進行的PID:

顯示路由表:

 netstat {–route|-r} [–verbose|-v] [–numeric|-n] [–continuous|-c]

-r:顯示內核路由

-n:數字格式顯示

-c:一直循環顯示路由表

顯示接口信息:

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

-i:顯示所有接口的信息

-Iiface:顯示指定接口的信息

 

 

4.ip命令:

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

ip [OPTIONS] OBJECT {COMMAND|help}

學習中常用到的OBJECT有:link,addr,route

(1)ip link :

 ip link set DEVICE {up|down|arp{on|off}

 ip link set DEVICE | dev DEVICE up|down :表示啟用戶關閉此接口設備。

   ip link show [DEVICE|dev DEVICE]:顯示所有網絡接口設備或顯示指定接口設備。

(2)ip addr:

ip addr {add|del}IFADDR dev STRING:添加和刪除網卡設備

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

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

global:全局可用

link:僅連接可用

host:本機可用

[broadcast ADDRESS]:指明廣播地址:

ip addr {show|flush} [devSTRING] [scope COPE-ID ]

(3)ip route:

添加路由:ip route add TARGET via GW dev IFACE src

添加主機路由:

ip route add IP via GW dev IFACE

添加網絡路由:

ip route add NEWORK/MASK via GW dev IFACE

eg:

刪除路由:

ip route del TARGET via GW del IFACE

顯示路由:

ip route show

清空路由:

ip route flush

[dev IFACE]

[via PREFIX]

 

 

5.ss命令:

ss命令與netstat的功能相似,但是比netstat功能更強大

ss – another utility to investigate sockets

ss [options] [ FILTER ]

常用選項:

-a:display all sockets:顯示所有

-t:tcp協議相關

-u:udp協議相關

-w:裸套接字相關

-x:Unix socket相關

-l:listen狀態的連接

-n:以數字格式顯示

-p:顯示相關的程序和PID

-e:擴展內容

-m:內存用量

-o:計時器信息

常用組合選項:

-atn  -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 =

 

 

二.修改配置文件配置linux網絡

Linux 中的網路配置要想永久有效,需要修改相應的配置文件。其中IP,MASK,GW,DNS相關的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE,路由相關的配置文件為:/etc/sysconfig/network-scripts/route-IFACE 這個文件默認是不存在的,要手動添加。先查看配置文件:

 

 

1.網絡地址配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE中的各個參數的含義:

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

HWADDR:對應設備的MAC地址

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

NM_CONTROLLED:NM是NetworkManager的縮寫,表示此網卡是否接受NM的控制,CentOS建議關閉

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

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

UUID:設備的唯一標識:

當BOOTPROTO的值為static時,要指定設備的IP,NETMASK,GATEWAY和DNS,分別指設備的IP地址,子網掩碼,默認網關,DNS服務指向

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

PEERDNS:如果BOOTPROTO的值為dhcp ,是否允許dhcp server分配的DNS服務指向信息直接覆蓋至/etc/resolv.conf文件中。

 

 

2.路由配置文件:

/etc/sysconfig/network-scripts/route-IFACE,這編寫路由規則時有兩種方法:

(1)TARGET via GW:如:

192.168.1.6 via 172.16.0.1

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

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

如:

ADDRESS0=192.168.1.6

NETMASK0=255.255.255.0

GATEWAY0=172.16.0.1

 

 

3.通過命令和配置文件進行配置網絡外還可以通過一個工具進行配置就是tui(text user interface)

system-config-network-tui即可打開此工具,或者使用setup也可打開。此種方法配置的網絡必須重啟網絡服務方能生效。

 

 

4.配置當前主機的主機名:

配置主機名的方法也有兩種:通過命令配置,臨時有效。修改配置進行配置,永久有效。

(1)使用hostname命令:

hostnam [HISTNAME]

hostname:查看當前系統的主機名

hostname HOSTNAME:修改主機名為HOSTNAME

(2)修改配置文件:/etc/syconfig/network

HOSTNAME=NAME

5.給網絡接口重命名:

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

/etc/udev/rules.d/70-presistent-net.roules

在此文件中只需修改NAME項,修改成自己指定接口名。如我們把NAME=”eth1” 修改為eth0  把NAME=”eth2” 修改為eth1

再在網絡配置文件中/etc/sysconfig/network-scripts/ifcfg-IFACE分別進行修改DEVICE=eth0 和DEVICE=eth1

 

 

三.CentOS 7 的網絡屬性配置:

從CentOS 7開始網絡設備的命名方式不再遵循傳統的命名方式(eth[0,1,2..]),而接口名稱被自動基于固件,拓撲機構和位置信息來確定?,F在即使添加移除網絡設備,接口名稱仍然保持固定,而無需重新枚舉,和壞掉的硬件可以無縫替換。

 

CentOS 7網絡設備名稱的組成格式:

en:Ethernet

wl:wlan

ww:wwan

 

名稱類型:

o<index>:集成設備的設備索引號命名:

s<slot>:擴展槽的索引號

x<MAC>:基于MAC地址命名

p<bus>s<slot>:enp2s1

 

修改網卡名稱:

1.編輯網絡配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736將NAME項修改為eth0.

2.重命名改配置文件:

# mv ifcfg-eno16777736 ifcfg-eth0

3.編輯/etc/default/grub/配置文件:加入“net.ifname=0 bisodevname=o”到GRUB_CMDLINE_LINUX。如:

4.運行grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成GRUB配置并更新內核參數

5.重啟系統

 

CentOS 7 網絡地址配置工具:nmcli

CentOS 7 中的默認網絡服務由NetworkManager提供,可以用命令工具nmcli來控制NetworkManager

nmcli – command?line tool for controlling NetworkManager

命令格式:

nmcli [OPTIONS]OBJECT{COMMAND|help}

OBJECT

  g[eneral]   NetworkManager's general status and operations

  c[onnection] NetworkManager's connections

  d[evice]    devices managed by NetworkManager

 

1.general:

  COMMAND := {status|hostname}

nmcli general status:顯示NM的所有狀態

nmcli general hostname:顯示系統當前的主機名

 

2.device:

device – show and manage network interfaces

COMMAND := {status|show|delete}

nmcli device status:顯示當前系統網絡設備處于的狀態

nmcli device show [ifname]:顯示系統上的網絡設備詳細信息或指定網卡信息

nmcli device delete:刪除系統上的一個設備。此設備只能是工作在系統上的軟件設備,如bonds,bridges,teams

 

3.connection:

connection – start, stop, and manage network connections

COMMAND := {show|up|down|add|edit|modify|delete|reloa|load}

nmcli connection show :顯示指定網絡接口的詳細信息

nmcli connection up:激活一個網絡接口

nmcli connection down:關閉一個網絡接口

modify修改IP地址等屬性:

#nmcli connection modify IFACE [+|-]setting.property value

setting.property:

pv4.addresses

pv4.gateway

ipv4.dns1

ipv4.method

 

添加一個dns服務器指向:

# nmcli connection modify eth0 + ipv4.dns 8.8.8.8

 

給網絡設備添加一個ip地址:

# nmcli connection modify eth0 +ipv4.address 172.16.99.6

 

移除一個網絡設備上的ip地址:

# nmcli connection modify eth0 -ipv4.address 172.16.99.6

 

CentOS 7 的網絡配置也可以工具nmtiu:他顯示的是一個圖形化操作界面。

 

CentOS7 配置主機名:hostnamectl

hostnamectl status:顯示當前系統的主機名以及相應信息

hostnamctl set-hostname:設置主機名

 

 

 

 

 

 

 

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

(0)
dengjiandengjian
上一篇 2016-09-05 08:48
下一篇 2016-09-05 08:48

相關推薦

  • 【26期】Linux第二周學習小總結

    關于用戶組的一些小小的整理     本周學習很多的知識,一些文件管理的技巧和命令,重定向和管道的實用技巧和拓展,最后則是到了我們的用戶組的權限和管理,既然說到了管理,我們都知道在Linux中,老師講的最多的一句話就是一切皆文件,既然是文件就會有用戶去用,在里面進行各種的操作,比如增刪改查啊,對文件的重新定義啊,那我們就…

    2017-07-21
  • 馬哥教育網絡20期+第六周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; :%s/^[[:space:]]/#&/ 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白…

    Linux干貨 2016-07-07
  • 數組和變量之間的關系及如何靈活運用數組

    什么是數組?數組:存儲多個元素的連續的內存空間,相當于多個變量的集合什么是變量? 變量即是存儲單個元素的內存空間 如果整個數組只有一個名字;數組名是數組的標識;也是數組所指向的存儲多個元素的連續的內存空間開始地址的標識;數組索引定義從 0 開始(第一個數組元素);到 N 結束引用某個數組元素時,數組名+【索引】格式:${ARRAY_NAM…

    Linux干貨 2017-05-22
  • Linux文件管理命令

    Linux系統上文件管理命令 一、文件查看類命令      1、cat 由第一行開始顯示文件內容 語法格式: cat [選項列表] [文件列表]… 參數說明: -A, –show-all 等價于 -vET 。 -b, –number-nonblank 給非空輸出行編號。 -e 等價于 -vE 。 -E…

    Linux干貨 2017-07-24
  • 正則表達式以及Linux文本搜索工具grep

    一正則表達式 regual Expression  簡稱REGEXP 定義:由一類特殊字符以及文本字所編寫的模式,其中有些字符不表示其字面意義,而用于統配和統配功能 分類:     基本正則表達式:BRE 貪婪模式(盡可能長地去匹配符合模式的內容     擴展表達式:E…

    Linux干貨 2016-08-07
  • 文件系統管理_設定文件系統的配額

    認識配置配額系統 :為控制用戶使用的空間的大小,在linux可以實現對分區的大小控制,控制用戶在這個分區內使用空間的大小同時還可以對用戶的文件個數實現控制。 在linux系統中其遵循文件分區來實現控制 磁盤的配額只針對單個分區來實現控制,不能對單塊磁盤(硬盤)來實現控制的 【搭建試驗環境 1】 怎樣把某一個文件夾(/home)單獨放到(遷移)一個獨立的分區中…

    Linux干貨 2017-04-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 10:45

    文章對網絡管理相關命令總結的很詳細,但是缺少了實操部分,同時建議對top命令顯示結果中的意義進行分析。

欧美性久久久久