2.ip命令
配置Linux網絡屬性:ip 命令(1)ip - show / manipulate routing, devices, policy routing and tunnels
ip [OPTIONS]OBJECT{COMMAND| help }OBJECT:={ link | addr | route }
ip link - network device configuration
set dev IFACE
可設置屬性:
up and down:激活或禁用指定接口
ifup/ifdown
show [dev IFACE]:指定接口
[up]:僅顯示處於激活狀態的接口
例1:ip link set eth1 down
例2:ip link show up(2)ip addr { add | del }IFADDR dev STRING[label LABEL]:添加地址時指明網卡別名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 僅鏈接可用
host: 本機可用
[broadcast ADDRESS]:指明廣播地址
例1: ip addr add 1.1.1.1/24 scope global dev eth1 label eth1:0
例2: ip addr del 1.1.1.1/24 dev eth1 label eth1:0(3)ip address show - look at protocol addresses
[dev DEVICE][label PATTERN][primary and secondary]
例1: ip addr show dev eth1(4)ip addr flush 使用格式同show
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0(5)ip route - routing table management
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IPTARGET:
主機路由: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 del TARGET
例1: ip route del default via 10.0.7.254
顯示路由:ip route show|list
清空路由表:ip route flush [dev IFACE][via PREFIX]
ip route flush dev eth0
1.route命令
路由管理命令
route [-CFvnee]
route [-v][-A family] add [-net|-host] target [netmask Nm][gw Gw][metric N][mss M][window W][irtt I][reject][mod][dyn][reinstate][[dev] If]
route [-v][-A family] del [-net|-host] target [gw Gw][netmask Nm][metric N][[dev] If]
route [-V][--version][-h][--help(1) 選項
-C//顯示路由緩存。-F//顯示發送信息-v //顯示詳細的處理信息。-n //不解析名字。-ee //使用更詳細的資訊來顯示-V//顯示版本信息。-net //到一個網絡的路由表。-host //到一個主機的路由表。(2) 參數
add //增加路由記錄。
del //刪除路由記錄。
target //目的網絡或目的主機。
gw //設置默認網關。gateway 的簡寫,後續接的是 IP 的數值。
mss //設置TCP的最大區塊長度(MSS),單位MB。
window //指定通過路由表的TCP連接的TCP窗口大小。
dev //如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。
reject //設置到指定網絡爲不可達,避免在連接到這個網絡的地址時程序過長時間的等待,直接就知道該網絡不可達。
例子:1)添加和刪除路由
route {add | del }[-net|-host][網域或主機] netmask [mask][gw|dev]增加(add)與刪除(del)路由的相關參數:(a)-net :表示後面接的路由爲一個網域。(b)-host :表示後面接的爲連接到單部主機的路由。(c) netmask :與網域有關,可以設定 netmask 決定網域的大小。(d) gw :gateway 的簡寫,後續接的是 IP 的數值,與 dev 不同。(e) dev :如果只是要指定由那一塊網路卡連線出去,則使用這個設定,後面接 eth0 等。
例1:route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
例2:route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
例3:route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
2)查詢路由信息
route -nee(a)-n:不要使用通訊協定或主機名稱,直接使用 IP 或 port number。(b)-ee:使用更詳細的資訊來顯示。
3)添加/刪除默認網關路由
route {add | del }default gw {IP-ADDRESS}{INTERFACE-NAME}(a)IP-ADDRESS:用於指定路由器(網關)的IP地址。(b)INTERFACE-NAME:用於指定接口名稱,如eth0。
例1:route add default gw 192.168.1.1 eth0
例2:route del default gw 192.168.1.1 eth0
例3: route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
例4: route add default gw 192.168.233.2 dev eth1 metric 994)添加/刪除到指定網絡的路由規則
route {add | del }-net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}(a)NETWORK-ADDRESS:用於指定網絡地址。(b)NETMASK:用於指定子網掩碼。(c)INTERFACE-NAME:用於指定接口名稱,如eth0。
例1:route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
例2:route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0
5)添加/刪除路由到指定網絡爲不可達
設置到指定網絡爲不可達,避免在連接到這個網絡的地址時程序過長時間的等待,直接就知道該網絡不可達。
route {add | del }-net {NETWORK-ADDRESS} netmask {NETMASK}reject(a)NETWORK-ADDRESS:用於指定網絡地址。(b)NETMASK:用於指定子網掩碼。
例1:route add -net 10.0.0.0 netmask 255.0.0.0 reject
例2:route del -net 10.0.0.0 netmask 255.0.0.0 reject
更多擴展看-->>Linux基礎命令-網絡配置和相關命令中的route命令
19.S
1.ss命令
1.ss命令
格式:ss [OPTION]...[FILTER]
netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息
選項:
-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: 等待第一階段
FIN_WAIT_2: 等待第二階段
SYN_SENTSYN_RECVCLOSEDEXPRESSION:
dport =
sport =示例:’( 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詳細信息