Linux網絡屬性配置命令:
ifcfg家族:ifconfig,route,netstat
ifconfig命令:接口及地址查看和管理
·ifconfig [INTERFACE]
#ifconfig -a:顯示所有接口,包括lnactive狀態(不是up狀態)的接口
·ifconfig interface [aftype] options | address…
#ifconfig IFACE IP/MASK [up|down]
#ifconfig IFACE IP netmask NETMASC [up|down]
options:
[-]promisc
注意:立即送往內核中的TCP/IP協議棧,并生效
·管理IPv6地址:
add addr/prefixlen
del addr/prefixlen
route命令:路由表查看及管理
·路由條目類型:
網絡路由:到網絡的路由條目,目標地址為IP網絡
主機路由:到主機的路由條目,目標地址為單個IP
默認路由:0.0.0.0/0.0.0.0,目標地址為任意主機
·查看:
route -n
·添加:
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
eg;route add -net 192.168.0.0/24 gw 198.168.1.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.1.1
route add default gw 192.168.1.1
·刪除:
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
eg: route del -net 192.168.0.0/24
route del -default
netstat命令:
Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
·顯示路由:netstat -rn
-r:顯示內核路由表
-n: 數字格式
·顯示網絡鏈接:
netstat [–tcp|-t] [–udp|-u]
-t:TCP協議的相關鏈接,鏈接均有其狀態;FSM(Finate State Machine)
-u:UDP相關的鏈接
-w:raw socket相關的鏈接
-l:處于監聽狀態的鏈接
-a:所有狀態
-n:以數字格式顯示IP和Port
-e:擴展格式
-p:顯示相關的進程及PID
常見的組合:
-tan, -uan, -tnl, -unl, -tunlp
·傳輸層協議:
tcp;面向鏈接的協議;通信開始之前,要建議一個虛連鏈接,通信完成后還有拆除此鏈接
udp:無鏈接的協議;直接發送數據報文
·顯示接口的統計數據
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–verbose|-v] [–program|-p] [–numeric|-n]
·所有接口:
netstat -i
·指定接口:
netstat -I<IFACE>
ifup/ifdown命令:
注意:通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并旺財配置
配置主機名:
hostname命令:
查看:hostname
配置:hostname HOSTNAME
當前系統有效,重啟無效
hostnamectl命令:
hostnamectl status;顯示當前主機名的信息
hostanemctl set-nostname:設定主機名,永久有效
配置文件:
CentOS6:/etc/sysconfig/network
CentOS7:/etc/hostanme
HOSTNAME=<HOSTNAME>
注意:此方法設置的不會立即生效,但下一次重啟后永久有效
配置DNS服務器指向:
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP
如何測試:
#dig -t A FQDN
FQDN–>IP
#dig -x IP
IP–>FQDN
iproute2家族:
ip命令:
show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT = { link | addr | route }
注意OBJECT可簡寫,格OBJECT的子命令也可簡寫
·ip link:network device configuration
ip link set – change device attributes
dev NAME (default):指明要管理的設備,dev關鍵字可省略
up 和 down:啟動或關閉網絡接口
multicast on 或 multicast off:啟用或關閉多播功能
name NAME:重命名接口 //必須先down掉接口,才能該名
mtu NUMBER:設置MTU的大小,默認為1500
netns PID:ns為namespace,用于將接口移動到指定的網絡名稱空間
ip link show – display device attributes
ip link help – 顯示簡要使用幫助
·ip netns:ip – manage network namespaces
ip netns list:列出所有的netns
ip netns add NAME:創建指定的netns
ip netns del NAME:刪除指定的netns
ip netns exec NAME COMMAND:在指定的netns中運行命令
·ip address-protocol address management
ip address add – add new protocol address
ip addr add IFADDR dev IFACE
[label NAME]:為額外添加的地址指明接口別名
在ifconfig命令中,沒有別名的ip地址默認不顯示
[broadcast ADDRESS]:廣播地址,不設置會根據IP和NETMASK自動計算得到
[scope SCOPE_VELUE]:
global:全局可用
link:接口可用
host:僅主機可用
ip address del – delete protocol address
ip addr delete IFADDR dev IFACE
ip address show – look at protocol addresses
[IFACE]:僅顯示指定接口的地址
ip address flush – flush protocol address
ip addr fulsh dev IFACE
·ip route – routing tabel management
ip route add – add new route
ip route change – change route
ip route replace – change or add new one
ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
eg: #ip route add 192.158.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
#ip route add default via GW
ip route delete – delete route
ip route del TYPE PREFIX
eg: #ip route delete 192.168.1.0/24
ip route show – list routes
TYPE PREFIX
ip route flush – flush routing tables
TYPE PREFIX
ip route get – get a single route
ip route get TYPE PREFIX
eg: #ip route get 192.168.0.0/24
ss命令:
ss [options] [FILTER]
選項:
-t:TCP協議的相關鏈接
-u:UDP協議的相關鏈接
-w:raw socket相關的鏈接
-l:監聽狀態的鏈接
-a:所有的鏈接
-n:數字格式
-p:相關的進程及其PID
-e:擴展格式信息
-m:內存用量
-o:計時器信息
FILTER= [ state TCP-STATE ] [ EXPRESSION ]
TCP的常見狀態:
TCP FSM:
LISTEN:監聽
ESTABLISEHD:建立的鏈接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED:關閉的鏈接
EXPRESSION:
dport=
sport=
示例:'( dport = :22 or sport = :22 )'
#ss -tan '( dport = :22 or sport = :22 )'
#ss -tan state ESTABLISHED
配置文件:
·IP/NETMASK/GW/DNS等屬性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
IFACE:接口名稱
·路由的相關配置文件(默認無此文件):/etc/sysconfig/network-scripts/route-IFACE
·配置文件/etc/sysconfig/network-scritps/ifcfg-IFACE通過大量參數來定義接口的屬性;其可通過vim等配置文本編輯器直接修改,也可以使用專用的命令進行修改
CentOS6:system-config-network(setup)
CentOs7:nmtui
·ifcfg-IFACE配置文件的參數:
DEVICE:此配置文件對應的設備的名稱
ONBOOT:在系統引導過程中,是否激活此接口
UUID:此設備的唯一標識
IPV6INIT:是否初始化IPv6
BOOTPROTO:激活此接口時使用什么協議來配置接口屬性,常用的有dhcp、bootp、static、none
TYPE:接口類型,常見的有Ethernet,Bridge
DNS1:第一DNS服務器指向
DNS2:備用DNS服務器指向
DOMAIN:DNS搜索域
IPADDR:IP地址
NETMASK:子網掩碼;CentOS7支持使用PREFIX
GATEWAY:默認網關
USERCTL:是否允許普通用戶控制此設備
PEERDNS:如果BBOTPROTO的值為“dhcp”,是否運行dhcp server分配的dns服務器指向覆蓋本地手動指向的DNS服務器指向,默認為允許
HWADDR:設備MAC地址
NM_CONTROLLED:是否使用NetworkManager服務來控制接口
·網卡配置文件中必須要有的選項
DEVICE
IPADDR
PREFIX / NETWORK
GATEWAY
DNS1
DNS2
·網絡服務:
network,NetworkManager
管理網絡服務:
CentOS6:service SERVICE {start|stop|restart|status}
CentOS7:systemctl {start|stop|restart|status} SERVICE[.service]
配置文件修改之后,如果要生效,需要重啟網絡服務
CentOS6:#service network restart
CentOS7:#systemtcl restart network.service
·網關路由文件:/etc/sysconfig/network-scripts/route-IFACE
支持兩種配置方式,但不可混用
(1)每行一個路由條目:
TARGRT via GW
(2)每三行一個路由條目
ADDRESS#=TARGRT
NETMASK#=MASK
GATEWAY#=NEXTHOP
#:0,1,2,3
原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/43966