1. 程式人生 > >centos配置網絡命令

centos配置網絡命令

簡單的網絡設置命令

ifconfig命令

ifconfig [interface] 加網卡名

ifconfig -a 顯示全部網卡信息(包括禁用的網卡)

ifconfig IFACE [up|down] (啟用禁用網卡)

ifconfig interface [aftype] options | address ...

ifconfig IFACE IP/netmask [up]

ifconfig IFACE IP netmask NETMASK

註意:立即生效

啟用混雜模式:[-]promisc (接收所有經過網卡的數據包)


路由管理命令

查看:route -n

添加:route add

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

添加三種路由的方式:

主機路由:route -a -host 172.16.18.18 gw 172.18.0.1 dev eth0

網絡路由:route -a -net 172.16.0.0/16 gw 172.18.0.1dev eth0

route -a -net 172.16.0.0 netmask 255.255.0.0 gw 172.18.0.1 dev eth0

默認路由:route -a -net 0.0.0.0 netmask 0.0.0.0 gw 172.18.0.1 dev eth0

route -a default gw 172.18.0.1 dev eth0

ps:設備號有時可不寫,系統會自動識別,依實際情況而定


netstat命令


顯示網絡連接:

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 中間不能夠有空格,如-Ieth0


註:ifconfig netstat 命令歷史久遠,逐漸被ip命令取代,但目前最新版centos還可以使用(7.4)


ip

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 - 使用格式同show

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 192.168.0.0/24 via 172.16.0.1

例 ip route add 192.168.1.13 via 172.16.0.1

添加網關:ip route add default via GW dev IFACE

例 ip route add default via 172.16.0.1

刪除路由:ip route delete

ip route del TARGET

顯示路由:ip route show|list

清空路由表:ip route flush [dev IFACE] [via PREFIX]

ip route flush dev eth0



ss命令:

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

選項:

-t: tcp協議相關

-u: udp協議相關

-w: 裸套接字相關

-x:unix sock相關

-l: listen狀態的連接

-a: 所有

-n: 數字格式

-p: 相關的程序及PID

-e: 擴展的信息

-m:內存用量

-o:計時器信息


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


TCP的常見狀態:

tcp finite state machine:

LISTEN: 監聽

ESTABLISHED:已建立的連接

FIN_WAIT_1:終止等待1

FIN_WAIT_2:終止等待2

SYN_SENT:syn發送

SYN_RECV:syn接收

CLOSED:關閉


EXPRESSION:

dport =

sport =

示例:ss '( dport = :ssh or sport = :ssh )'


常用組合:

-tan, -tanl, -tanlp, -uan


常見用法

ss -l 顯示本地打開的所有端口

ss -pl 顯示每個進程具體打開的socket

ss -t -a 顯示所有tcp socket

ss -u -a 顯示所有的UDP Socekt

ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接

ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接

ss -s 列出當前socket詳細信息


ss -l 顯示本地打開的所有端口

ss -pl 顯示每個進程具體打開的socket

ss -t -a 顯示所有tcp socket

ss -u -a 顯示所有的UDP Socekt

ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接

ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接

ss -s 列出當前socket詳細信息


centos配置網絡命令