linux網絡配置命令總結

爲了linux主機配置網絡,實現網絡通信

配置方式:

靜態指定:



  可以有三種指定方式的命令:

一:ifcfg類:ifconfigroute,netstat

:ip類:linkaddrroute,ss,tc

三:編輯配置文件

system-config-network-tuisetup就是調用這個工具)

centos7中有新的工具來配置

nmclinmtui

動態分配:

DHCPdynamic host configuration protocol

配置網絡接口:

接口命名方式:

centos6以網卡的MAC地址來表示一個接口名稱,

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

ppp聯網:ppp[0,1,2,...]

centos7:是以網卡所在的接口曹來命名網卡名稱的,一次可以做到換網卡但是網卡名不變

 

ifconfig命令:interface config

ifconfig [interface]

ifconfig -a :顯示所有的網卡

ifconfig eth# [up|down]


ifconfig interface [aftype] options | address ...

#ifconfig interface  IP/MASK  [up]

#ifconfig interface IP netmask mask

 

啓用混雜模式選項: [-]promisc 混雜模式表示只要經過本接口的包不論目標地址是不是本接口都進行接收一份並傳遞

ifcfg命令:

ifcfg DEV [[add|del [ADDR[/LEN]] [PEER] | stop]

       add - add new address

       del - delete address

       stop - completely disable IP

ifupifdown命令用來開啓或關閉網絡藉口的

ifup|ifdown   interface

 

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

 

       DNS服務器指定

       /etc/resolv.conf

       nameserver DNS_SERVER_IP1

       nameserver DNS_SERVER_IP2

       nameserver DNS_SERVER_IP3

 

       正解:FQDN-->IP

       # dig -t A FQDN

       # host -t A FQDN

       反解:IP-->FQDN

       # dig -x IP

       # host -t PTR IP

 

dig命令:用於追蹤DNS地址解析

dig:不帶參數表示從(。)根開始解析。

dig [@server] [-b address]表示有效的ip地址

[-c class] [-f filename] [-k filename] [-m]表示開啓調試功能

           [-p port#] [-q name]指定域名稱 [-t type]指定DNS解析的記錄類型 [-x addr]反解ip地址 [-4]表示使用ipv4 [-6]表示使用ipv6

           [name] [type] [class] [queryopt...

 

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  顯示某一個接口的信息


ip命令

     [root@localhost ~]# rpm -qf `which ip`

iproute-2.6.32-32.el6_5.x86_64 

 

ip - show / manipulate routing, devices, policy rout-ing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

 

OBJECT := { link | addr | addrlabel | route | rule |

               neigh | tunnel | maddr | mroute | monitor }

 

       OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve]

               | -f[amily] { inet | inet6 | ipx | dnet |

               link } | -o[neline] } 

link OBJECT:

ip link - network device configuration

set

dev IFACE

可設置屬性:

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

show

[dev IFACE]:指定接口

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

ip address - protocol address management

ip addr { add | del } IFADDR dev STRING

[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 - flush protocol addresses

使用格式同show,清楚網卡的ip地址配置

 ip addr flush dev  eth0

 

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 defalt via GW dev IFACE

 

ip route delete

刪除路由:ip route del TARGET 

 

ip route show

ip route flush

[dev IFACE]

[via PREFIX]

 

ss命令:

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

選項:

-t: tcp協議相關

-u: udp協議相關

-w: 裸套接字相關

-xunix sock相關

-l: listen狀態的連接

-a: 所有

-n: 數字格式

-p: 相關的程序及PID

-e: 擴展的信息

-m:內存用量

-o:計時器信息

                         FILTER := [ state TCP-STATE ] [ EXPRESSION ]

                               EXPRESSION:

                    dport = 

                    sport = 

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

 

 

tcp的常見狀態:

listen:監聽狀態

established:以建立的正在連接的狀態

FIN_WAIT_1 :

FIN_WAIT_2 :

SYN_SENT :

SYN_RECV :

CLOSED :

 

 

linux上的網路配置:修改配置文件

IPMASKGWDNS相關配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相關的配置文件:/etc/sysconfig/network-scripts/route-IFACE

 

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

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

HWADDR:對應的設備的MAC地址;

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

NM_CONTROLLEDNMNetworkManager的簡寫;此網卡是否接受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文件中;

 

配置路由信息的配置文件需要手動添加:在/etc/sysconfig/network-scripts/route-IFACE

內容可以有兩種編寫方式:

(1) TARGET via GW

(2) 每三行定義一條路由(#必須是從0開始)

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

 

 

centos6上管理網絡管理的兩個腳本是/etc/rc.d/init.d/network或者/etc/rc.d/init.d/networkmanger

但是後者在centos6上的有些不完善,所以在配置網絡腳本時建議禁用此項NM_CONTROLLED="no"

 

給網卡配置多地址:

ifconfig:

ifconfig IFACE_ALIAS   

             注意:使用ifconfig給網卡配置多地址,必須制定別名,如eth0:1,另外網卡別名不能使用兌換成【

來引導。

                ifconfig eth0:1 172.16.1.111

ip

ip addr add 

配置文件:

ifcfg-IFACE_ALIAS

DEVICE=IFACE_ALIAS

 

注意:網關別名不能使用dhcp協議引導;

 

Linux網絡屬性配置的tui(text user interface)

system-config-network-tui

也可以使用setup找到;

注意:記得重啓網絡服務方能生效;

配置當前主機的主機名:

hostname [HOSTNAME]

       或者修改配置文件

/etc/sysconfig/network

HOSTNAME=

 

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

    修改網卡名稱/etc/udev/rules.d/70-persistent-net.rules的配置

 

wKioL1YJUnLCQx6fAAIjO-XLkOM986.jpg


  注意:修改這個不會立即生效,要想立即生效可以先拆除網卡驅動然後重新裝載網卡驅動即可。

centos7網絡屬性配置:

可預測功能的命名方式:

udev支持不同的命名方式:

Firmware :指主板上的固件信息

 拓撲結構:接口的拓撲信息

   (1) 網卡命名機制

systemd對網絡設備的命名方式:

(a) 如果FirmwareBIOS爲主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1

(b) 如果FirmwareBIOSPCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1; 

(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0

(d) 如果用戶顯式啓動,也可根據MAC地址進行命名,enx2387a1dc56; 

(e) 上述均不可用時,則使用傳統命名機制;

 

上述命名機制中,有的需要biosdevname程序的參與;

 

(2) 名稱組成格式

en: ethernet

wl: wlan

ww: wwan

 

名稱類型:

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

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

x<MAC>: 基於MAC地址的命名;

p<bus>s<slot>: enp2s1 是根據pci總線的插槽位置來命名的

 

網卡設備的命名過程:

第一步:

udev, 輔助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

 

第二步:

biosdevname 會根據/usr/lib/udev/rules.d/71-biosdevname.rules

 

第三步:

通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description

ID_NET_NAME_ONBOARD, ID_NET_NAME_SLOT, ID_NET_NAME_PATH

 

迴歸傳統命名方式:

(1) 編輯/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

 

(2) grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

 

(3) 重啓系統

地址配置工具:nmcli(此工具功能太強大,不好掌握,版本之間有很多區別,建議使用nmtui工具)

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

 OBJECT := { general | networking | radio | connection | device | agent  }

            

radio - get or set radio switch states

  wifi [ on | off ]

  wwan [ on | off ]

  wimax [ on | off ]

  all [ on | off ]

networking - get or set general networking state of NetworkManager

[ on | off | connectivity 

general - general NetworkManager status and operations

 status | hostname | permissions | logging

connection - start, stop, and manage network connec‐ tions

show | up | down | add | edit | modify| delete | reload | load

            device - show and manage network interfaces 

{ status | show | connect | disconnect | delete | wifi }


如何修改IP地址等屬性:

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

 setting.property:

 ipv4.addresses

 ipv4.gateway

 ipv4.dns1

 ipv4.method  //利用這個配置的地址會立即生效的

 manual表示手動修改,dhcp表示dhcp自動獲取  

注意:nmcli 修改ip地址後可能不會立即生效,

nmcli con mod eth0 +ipv4.addr 172.16.1.110

nmcli con down eth0;nmcli con up eth0

nmcli conn modify eth0 -ipv4.addresses 172.16.1.110

nmcli con down eth0;nmcli con up eth0

 

centos7上重啓網絡服務:

systemctl restart NetWorkManger或者 systemctl restart network 

 

nmtui工具是nmcli命令的圖形界面工具,可以實現在圖形化界面配置網絡地址

 

nmap命令:

nmap [Network Mapper ] Linux,Free BSD,UNIX,Windows下的網絡掃描和嗅探工具包,其基本功能有三個,一是探測一組主機是否在線;其次是掃描 主機端口

此命令由nmap.x86_64 2:6.40-4.el7包提供

 

此包提供了另一個命令nping

 nping - Network packet generation tool / ping utility

例:

nping -c 1 --tcp -p 80,433 scanme.nmap.org google.com

 

 

 

 

 

 

 

 

      


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章