1、ifconfig:配置或查看系统IP情况
[root@localhost ~]# ifconfig # 显示所有处于活动状态接口的信息
[root@localhost ~]# ifconfig –a # 显示所有接口信息
[root@localhost ~]# ifconfig eth0 # 只显示eth0接口信息
[root@localhost ~]# ifconfig eth0 192.168.192.132/24 # 配置eth0接口的IP和子网掩码
[root@localhost ~]# ifconfig eth0 192.168.192.132 netmask 255.255.255.0 # 配置IP和子网掩码
2、 ip:配置网络属性
ip - show / manipulate routing(显示/配置路由), devices(路由), policy routing and tunnels(测试路由和设备)
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link - network device configuration(网络设备配置)
ip link set dev IFACE up and down:激活或禁用指定接口;
ip link show [dev IFACE] [up]:仅显示处于激活状态的接口
ip address - protocol address management(协议地址管理工具)
ip addr { add | del } IFADDR dev STRING [label LABEL] [scope {global|link|host}] [broadcast ADDRESS]
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域(global: 全局可用;link: 仅链接可用;host: 本机可用;)
[broadcast ADDRESS]:指明广播地址
ip address show - look at protocol addresses(查看地址协议)
ip addr show [dev DEVICE] [label PATTERN] [primary and secondary]
ip address flush - flush protocol addresses(清除地址(使用格式同show))
ip route - routing table management(管理路由表)
添加路由: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 del TARGET
显示路由:ip route show
清空路由表:ip route flush [dev IFACE] [via PREFIX]
例:
2.1)ip link (network device configuration)网络设备配置
[root@localhost ~]# ip link show up # 显示处于启动状态的接口
[root@localhost ~]# ip link show dev eth0 # 查看指定接口eth0
[root@localhost ~]# ip link show # 显示接口信息
2.2)ip addr (protocol address management)协议地址管理工具
[root@localhost ~]# ip addr add 192.168.192.132/24 dev eth0 # 添加eth0地址
[root@localhost ~]# ip addr replace 192.168.192.136/24 dev eth0 # 添加eth0地址
注意:添加新地址时,应先删除原有地址
[root@localhost ~]# ip addr del 192.168.192.132/24 dev eth0 #删除eth0地址
[root@localhost ~]# ip addr del 192.168.192.132/24 dev eth0 label 'eth0:0'
#添加地址时指明网卡别名为eth0:0
ip addr show (look at protocol addresses) # 查看地址协议
[root@localhost ~]# ip addr show dev eth0 # 查看eth0的地址协议
ip addr flush(flush protocol addresses) 清除地址(使用格式同show)
[root@localhost ~]# ip addr flush dev echo label 'eth0:0’ # 清除地址
2.3)ip route(routing table management) 管理路由表
添加路由: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 del TARGET
显示路由:ip route show
清空路由表:ip route flush [dev IFACE] [via PREFIX]
[root@localhost ~]# ip route add 192.168.1.3 via 192.168.192.1 dev eth0 # 添加主机路由
#若添加为主机路由IP,则不能加掩码,若为网络路由IP,则需加掩码
[root@localhost ~]# ip route add 192.168.192.132/24 via 192.168.192.1 dev eth0 # 添加网络路由
[root@localhost ~]# ip route add default via 192.168.192.1 dev eth0 # 添加网关
[root@localhost ~]# ip route del 192.168.1.3 # 删除路由
[root@localhost ~]# ip route show # 显示路由
[root@localhost ~]# ip route flush dev eth0 # 清空路由表
3、 route:路由管理命令
3.1)查看路由表信息:
# route -n
3.2)添加路由表
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-net:网络路由 -host:主机路由 netmask:子网掩码 gw:网关 dev:接口
(a)目标:192.168.1.3 网关:172.16.0.1
# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
(b)目标: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
(c)默认路由,网关: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
3.3)删除路由表
#route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
(a)目标:192.168.1.3 网关:172.16.0.1
# route del -host 192.168.1.3
(b)目标:192.168.0.0 网关:172.16.0.1
# route del -net 192.168.0.0 netmask 255.255.255.0
注意:通过route add添加的命令只能暂时生效,当重启服务器时便失效不存在,所以需要添加静态路由表,才能使之永久生效:
# vim /etc/sysconfig/static-routes
any net 192.168.15.0/24 gw 192.168.14.254
any host 123.57.223.144 gw 192.168.14.254
any host 123.57.190.33/32 gw 192.168.8.1
# vim /etc/sysconfig/network-scripts/route-eth0
ADDRESS0=192.168.193.131
NETMASK0=255.255.255.0
GATEWAY0=192.168.193.0
两种风格:
(1) TARGET via GW
(2) 每三行定义一条路由(#为0、1、2、3、4)
ADDRESS#=TARGET # IP地址
NETMASK#=mask # 子网掩码
GATEWAY#=GW # 网关
4、 netstat:查看当前系统的网络状态
Print network connections(网络连接), routing tables(路由表), interface statistics(网络接口统计数据), masquerade connections(伪装连接), and multicast memberships(组播成员)
4.1)显示网络连接:
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
[root@localhost ~]# netstat –tan # 所有TCP相关的进度
[root@localhost ~]# netstat –tan # 所有UDP相关的进度
[root@localhost ~]# netstat –tnl # TCP处于监听状态的连接
[root@localhost ~]# netstat –unl # UDP处于监听状态的连接
4.2)显示路由表:
netstat {--route|-r} [--numeric|-n]
-r: 显示内核路由表;-n: 数字格式
[root@localhost ~]# netstat –rnv # 以数字格式详细显示内核路由表
4.3) 显示接口统计数据:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
[root@localhost ~]# netstat –i # 所有接口信息
# netstat -IIFACE
[root@localhost ~]# netstat –Ieth0 # 显示指定接口eth0信息
5、ss:网络状态查看工具(可取代netstat,但比netstat快)
格式:ss [OPTION]... [FILTER]
5.1) OPTION:-t: tcp协议相关;-u: udp协议相关;-w: 裸套接字相关;-x:unix sock相关;-l: listen状态的连接;-a: 所有;-n: 数字格式;-p: 相关的程序及PID;
-e: 扩展的信息;-m:内存用量;-o:计时器信息
5.2) FILTER := [ state TCP-STATE ] [ EXPRESSION ]
(a)state TCP-STATE (即TCP的常见状态):
tcp finite state machine(tcp的有限状态机):
LISTEN: 监听;ESTABLISHED:已建立的连接;FIN_WAIT_1;FIN_WAIT_2
SYN_SENT(SYN已发送);SYN_RECV(SYN已接收);CLOSED(已关闭);
(b)EXPRESSION(表达式):
源端口dport = 目标端口sport =
例:`(dport = :ssh or sport = :ssh )`
常用组合:-tan, -tanl, -tanlp, -uan
[root@localhost ~]# ss –tan # 所有TCP相关的进度
[root@localhost ~]# ss –tanl # 显示TCP的listen监听状态的连接
[root@localhost ~]# ss –tanlp # TCP listen监听状态连接的相关的程序及PID
[root@localhost ~]# ss –uan #所有UDP相关的进度
6、CentOS 7.0上的nmcli命令
NetworkManager 可以用于以下类型的连接:Ethernet,VLANS,Bridges,Bonds,Teams,Wi-Fi,mobile boradband(如移动3G)以及 IP-over-InfiniBand。针对与这些网络类型,NetworkManager 可以配置他们的网络别名,IP 地址,静态路由,DNS,VPN连接以及很多其它的特殊参数。
nmcli:网络管理命令行接口:NetworkManager Command-Line Interface
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage(管理) network interfaces(网络接口)
connection - start, stop, and manage network connections(管理网络连接)
如何修改IP地址等属性:
#nmcli connection modify IFACE [+|-]setting.property value(+为增加,-为删除)
setting.property:ipv4.addresses;ipv4.gateway;ipv4.dns1;ipv4.method;manual。
[root@localhost ~]# nmcli general status
[root@localhost ~]# nmcli device status # 查看接口状态
[root@localhost ~]# nmcli device show eno16777736 #查看eno16777736接口信息
[root@localhost ~]# nmcli connection show # 显示当前可用状态连接
[root@localhost ~]# nmcli con modify eno16777736 +ipv4.addresses 192.168.192.132/24 # 修改IP
[root@localhost ~]# nmcli con down eno16777736 # 禁用
[root@localhost ~]# nmcli con up eno16777736 # 启用
[root@localhost ~]# ip addr show #可以查看到修改的IP已生效
[root@localhost ~]# nmcli con modify eno16777736 -ipv4.addresses 192.168.192.132/24 # 删除IP
[root@localhost ~]# nmcli con modify eno16777736 +ipv4.addresses 192.168.192.1
# 增加网关
[root@localhost ~]# nmcli con modify eno16777736 +ipv4.dns 114.114.114.114
#增加DNS
[root@localhost ~]# nmcli con down eno16777736;nmcli con up eno16777736
# 禁用并启用
[root@localhost ~]# nmcli dev show eno16777736 #可查看到修改已生效
7、 CentOS 7.0上的nmtui命令
Nmtui:NetworkManager Text-User Interface网络接口配置tui工具
8、 CentOS 7.0的hostnamectl命令(主机名称配置工具)
[root@localhost ~]# hostnamectl # 查看主机名
[root@localhost ~]# hostnamectl set-hostname CentOS7
# 修改主机名为CentOS7
[root@localhost ~]# hostname # 查看主机名