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
下一篇 2016-09-05

相關推薦

  • bash腳本之進階

    bash腳本 1、終端打印 1、單雙引號(echo) 雙引號: ①在雙引號里面打不出! ②雙引號,可以在文本中使用“;”,“;”在bash中被用作命令定界符。 單引號: 變量替換在單引號中無效。 2、printf:不會自動添加換行符,要手動添加 如下: 結果: 3、補充: echo 要使用轉義系列需要加e,!號除外 2、變量和環境變量 腳本語言通?!?/p>

    Linux干貨 2016-11-28
  • Centos Linux基礎入門知識類

    Centos Linux基礎入門知識類 ?1.1Linux終端介紹 ?1.2基本命令的使用:ls、pwd、cd。 ?1.3 查看系統和BIOS硬件時間。 ?1.4 Linux如何獲得幫助,Linux關機命令:shutdow、init等。 ?1.5 YUM本地源配置與開機自動掛載光盤 前言: 很多學習Linux的同學或多…

    Linux干貨 2017-03-26
  • shell-變量

    bash中變量的種類 ?根據變量的生效范圍等標準:     本地變量:生效范圍為當前shell進程;對當前shell之外的其它shell進程,包括當前shell的子shell進程均無效     環境變量:生效范圍為當前shell進程及其子進程    …

    Linux干貨 2016-08-21
  • Linux命令1

    7-13 Linux命令   一、進入終端terminal 1..C1trl+Alt 釋放鼠標 2.ifconfig 查詢ip地址 3.Ping (IP地址) 查看聯網狀態 4.ls 查看            -l 列出文件 5.tty、who am i  查看當前的登錄終端名…

    Linux干貨 2017-07-15
  • 查找find命令簡介

       之前都是寫一些關于課后練習題的博客,既練習了課后習題也把博客寫了,舒服!不過這周學的知識需要練習的不多,更多的是需要了解和記憶,所以給大家介紹一個自我覺得挺強大的一個命令,那就是查找find命令。大家都知道計算機的數據茫茫多,要想找到自己想要的級必須加點限制性的條件來縮小一下范圍,或者準確的告訴計算機你想要的是什么。那么怎么來實現呢…

    2017-08-12
  • shell四劍客之find

    find命令詳解 ### 命令格式 find pathname -options [-print -exec -ok] ### 命令參數 pathname:find命令所查找的目錄路徑。例如用.表示當前目錄,用/來表示系統根目錄 -print:find命令將會匹配的文件輸出到標準輸出。-e…

    Linux干貨 2016-08-22

評論列表(1條)

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

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

欧美性久久久久