1. 程式人生 > >LINUX 紅帽系列系統網絡管理常用方法

LINUX 紅帽系列系統網絡管理常用方法

linux 網絡管理及配置

一、靜態配置網絡的幾種方法

1、ifconfig [interface]

-a :查看包括未激活狀態的所有接口

啟用或禁用:ifconfig IFNAME up|down

或者啟用:ifup IFNAME

禁用:ifdown IFNAME

設定IP地址:ifconfig IFACE IP/netmask [up]

註:CIDR格式掩碼,如172.18.0.1/16

或者:ifconfig IFACE IP netmask NETMASK

註:完整格式掩碼,如255.255.0.0

設定的地址會立即送往內核,立即生效,但不會永久有效。

route

route -n 以數字格式顯示本機內核路由表

添加路由:route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]

-net 後面跟網絡地址,表示網絡路由

-host 後面跟主機地址,表示主機路由

例:route add -net 192.168.0.0/16 gw 172.18.0.1

route add -host 192.168.1.1 gw 172.18.0.1

route add default gw 172.18.0.1

刪除路由:route del [-net|-host] target [gw Gw] [netmask Nm][[dev] If]

例:route del -net 0.0.0.0 gw 172.18.0.1

註:所有配置發往內核中的協議棧,立即生效,但不會永久生效。若想永久生效需更改對應的靜態 路由的配置文件/etc/sysconfig/network-scripts/route-IFNAME

配置格式一:每一行定義一個路由條目

如:192.18.0.0/16 via 172.18.0.1

192.18.1.1 via 172.18.0.1

配置格式二:每三行定義一個路由條目

ADDRESS#=

NETMASK#=

GATEWAY#=

註: 這兩種方式不能混用。

2、ip命令

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route }

①link :鏈接接口屬性設置

set:設定接口屬性

ip link set DEVICE {up|down}

promisc {on|off}: 是否支持混雜模式

name NEWNAME :更改接口名

show :顯示接口狀態,例如啟動的特性,HWADDR等

ip link show DEVICE

②addr :管理接口地址

add:添加地址

del :刪除地址

例:ip addr add 172.18.10.10/16 dev eth0

show :顯示該網卡上的所有地址信息

ip addr show [dev IFNAME]

flush :清除所有協議地址

ip addr flush [dev IFNAME]

③route:管理路由

list | show :顯示路由

add:添加路由

ip route add 目標網絡(址) via 網關 [dev IFNAME]

例:設定默認網關

ip route add defalut via 172.18.0.1

del :刪除路由

例:ip route del 172.18.10.0/16

3、修改網卡對應文件/etc/sysconfig/network-scripts/ifcfg-IFACE

常用參數說明:

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

HWADDR:對應的設備的MAC地址

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

NM_CONTROLLED: NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“no

ONBOOT:在系統引導時是否激活此設備

TYPE:接口類型;常見有的Ethernet, Bridge

UUID:設備的惟一標識

IPADDR:指明IP地址

NETMASK:子網掩碼 或者PREFIX=CIDR格式掩碼

GATEWAY: 默認網關

DNS1:第一個DNS服務器指向

DNS2:第二個DNS服務器指向

USERCTL:普通用戶是否可控制此設備

PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

修改配置文件後,需重啟服務生效,永久有效。

CentOS 6重啟操作:service network restart

CentOS 7重啟操作:systemctl restart network.service

4、TUI工具

通過文本命令方式執行程序,具體操作如下

CentOS 6 系統:命令行輸入setup命令,選擇Network Configutations

CentOS 7 系統 : 命令行輸入nmtui命令,選擇Edit aconnection

二、網絡狀態探測常用工具

1、netstat

netstat命令用來打印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況。

常用選項:

-t: tcp協議相關

-u: udp協議相關

-w: raw socket相關

-l: 處於監聽狀態

-a: 所有狀態

-n: 以數字顯示IP和端口;

-e:擴展格式

-p: 顯示相關進程及PID

-r: 顯示內核路由表

實例:

列出所有端口 (包括監聽和未監聽的)

netstat -a #列出所有端口

netstat -at #列出所有tcp端口

netstat -au #列出所有udp端口

列出所有處於監聽狀態的 Sockets

netstat -l #只顯示監聽端口

netstat -lt #只列出所有監聽 tcp 端口

netstat -lu #只列出所有監聽 udp 端口

netstat -lx #只列出所有監聽 UNIX 端口

持續輸出netstat信息

netstat -c #每隔一秒輸出網絡信息

顯示系統不支持的地址族(Address Families)

netstat --verbose

並不是所有的進程都能找到,沒有權限的會不顯示,使用 root 權限查看所有的信息。

netstat -ap | grep ssh

找出運行在指定端口的進程:

netstat -an | grep ‘:80‘

2、ss [OPTION]... [FILTER]

netstat通過遍歷proc來獲取socket信息, ss使用netlink與內核tcp_diag模塊通信獲取socket信息。ss的優勢在於它能夠顯示更多更詳細的有關TCP和連接狀態的信息,而且比netstat更快速更高效。

選項:

-h:顯示幫助信息;

-V:顯示指令版本信息;

-n:不解析服務名稱,以數字方式顯示;

-a:顯示所有的套接字;

-l: 顯示處於監聽狀態的套接字;

-o:顯示計時器信息;

-m:顯示套接字的內存使用情況;

-p:顯示使用套接字的進程信息;

-i:顯示內部的TCP信息;

-4:只顯示ipv4的套接字;

-6:只顯示ipv6的套接字;

-t:只顯示tcp套接字;

-u:只顯示udp套接字;

-d:只顯示DCCP套接字;

-w:僅顯示RAW套接字;

-x:僅顯示UNIX域套接字。

常見用法

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詳細信息


LINUX 紅帽系列系統網絡管理常用方法