1、概述
此文主要是讲述修改CentOS系列网络的配置,通过命令或配置文件两种方式,这里特别说明,通过命令修改的配置文件会立即生效,但不会永久有效。而通过配置文件可永久有效,但不会立即生效,需要重读配置文件。
2、命令修改
①ifcfg命令系列(ifconfig,route,netstat)
ifconfig命令:
功能:用来查看或配置网络接口的地址和参数。
格式:ifconfig [-a] [-s] [interface]
ifconfig interface [aftype] options | address ...
选项:-a:显示包括非激活状态的所有接口信息;
-s:显示摘要;
up:启动此网络设备;
down:关闭此网络设备;
add:给指定的网卡配置IPv6地址;
del:删除指定网卡的IPv6地址;
实例:
查看网络信息
说明: flags:标志位,UP表示启用状态,BROADCAST表示支持广播,MULTICAST表示支持组播,RUNNING处于运行中;
mtu:支持网卡最大传输不超过1500个字节;
inet:IP地址;
netmask:子网掩码;
broadcast:广播地址;
inet6:IPv6地址;
ether:以太网地址;
txqueuelen:传输队列长度;
RX packets:接收到的报文的数量;
RX errors:接收时错误的个数,dropped:丢包的数量,overruns:溢 出的数量,frame:帧
TX packets:传出的报文数量;
TX errors:传出的错误个数,dropped:丢包的个数,collisions:冲突 的个数
配置IP地址
[[email protected] ~]# ifconfig eth0 192.168.11.24 netmask 255.255.255.0
注:立即生效,但不永久有效。
route命令:
功能:路由查看及管理
格式:route [-CFvnNee] [-A family |-4|-6]
route [-v] [-A family |-4|-6] 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 |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
route [-V] [--version] [-h] [--help]
选项:关于查看路由的相关参数:
-n:把主机名称翻译为IP;
-p:与add命令同时使用使路由永久有效;
增加与删除路由的相关参数:
add:增加一个路由;
del:删除一个路由;
-net:目标地址是一个网络;
-host:目标地址为一个主机;
netmask:添加网络路由时,指定一个网络掩码;
gw:路由数据包需要通过的网关,此网关必须跟本地网卡在同一网络中;
Gateway :指定网络目标定义的地址集和子网掩码可以到达的前进或下一 跳IP地址;
实例:
查看路由信息
说明:Destination:主机所在地址;
Gateway:下一跳网关地址;
Genmask:目标网络的掩码;
Flags:路由条目的标志,U表示up,G表示一个网关;
Metric:需要的开销;
Iface:到达目标自己要通过的网卡;
添加路由:
删除路由:
netstat命令:
功能:显示与IP、TCP、UDP和ICMP协议相关的统计数据
格式:netstat [--tcp|-t] [--udp|-u] [--udplite|-U] [--sctp|-S] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e][--verbose|-v] [--program|-p] [--numeric|-n]
选项:-t:TCP协议的相关连接;
-u:UDP相关的连接;
-w:raw socket相关的连接;
-l:处于监听状态的连接;
-a:所有状态;
-n:以数字格式显示IP和Port;
-e:扩展格式;
-p:显示相关的进程及PID;
-h:在线帮助;
-v:显示指令执行过程;
-V:显示版本信息;
-i:显示网络界面信息表单;
-M:显示伪装的网络连线;
-c:持续列出网络状态;
-C:显示路由配置的快取信息;
实例:
无参数显示
状态说明(此处转载自‘竹子-博客’):
LISTEN:侦听来自远方的TCP端口的连接请求
SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)
ESTABLISHED:代表一个打开的连接
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
CLOSE-WAIT:等待从本地用户发来的连接中断请求
CLOSING:等待远程TCP对连接中断的确认
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
CLOSED:没有任何连接状态
显示当前UDP连接状态
显示TCP所有状态
显示TCP与UDP所有状态
ifup/ifdown命令:
说明:bring a network interface up
take a network interface down
格式:ifup CONFIG [boot]
ifdown CONFIG
②iproute命令系列(ip,ss)
ip命令:
功能:网络配置工具,使用权限为超级用户,可代替ifconfig,route等命令
格式:ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics }
OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }
选项:
ip OBJECT:
ip link:
ip link set:设置设备的属性
dev NAME(default):指明要管理的设备,dev关键字可省略;
up和down:启动或关闭;
multicast on或multicast off:启动或禁用多播功能;
name NAME:重命名接口,停止时设置;
mtu NUMBER:设置MTU的大小,默认为1500;
netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;
ip link show:显示设备属性信息;
ip link help:显示简要使用帮助;
ip netns:
ip netns list:列出所有的netns
ip netns add NAME:创建指定的netns
ip netns del NAME:删除指定的netns
ip netns exec NAME COMMAND:在指定的netns中运行命令
ip address:管理网络接口上的IP地址;
ip address add IFADDR protocol address
ip addr add IFADDR dev IFACE
[label NAME]:为额外添加的地址指明接口别名;
[broadcast ADDRESS]:广播地址,会根据IP和NETMASK自动计算得到;
[scope SCOPE_VALUE]:作用域
global:全局可用;
link:接口可用;
host:仅本机可用;
ip address delete - delete protocol address
ip addr delete IFADDR dev IFACE
ip address show - look at protocol addresses
ip addr list [IFACE]:显示接口的地址;
ip address flush - flush protocol addresses
ip addr flush dev IFACE
ip route - routing table 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]
ip route delete - delete route
ip route del TYPE PRIFIX
ip route show - list routes
ip route flush - flush routing tables
ip route get - get a single route
ip route get TYPE PRIFIX
实例:
ss命令:
功能:用于显示socket状态;
格式:ss [options] [ FILTER ]
选项:-t:TCP协议相关连接;
-u:UDP相关的连接;
-w:raw socket相关的连接;
-l:监听状态的连接;
-a:所有状态的连接;
-n:数字格式;
-p:相关的程序及其PID;
-e:扩展格式信息;
-m:内存用量
-o:计时器信息
FILTER:
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
实例:
补充:配置主机名:
hostname命令:
注:当前系统有效,重启后无效;
hostnamectl命令(CentOS 7):
注:当前不生效,但永久有效;
配置文件:/etc/sysconfig/network
HOSTNAME=<HOSTNAME>
配置DNS服务器指向:
配置文件:/etc/resolv.conf
nameserver DNS_SERVER_IP
TCP的常见状态:
TCP FSM:
LISTEN:监听
ESTABLISEHD:建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
3、配置文件
①接口属性配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-IFACE
修改方式:
文本窗口模式:
centOS 6:system-config-network(setup)
centOS 7:nmtui
vim模式:
参数介绍:
DEVICE:设备名称;
ONBOOT:开机时是否激活此接口;
NETBOOT:是否支持网络引导;
UUID:设备的唯一标识;
IPV6INIT:是否初始化IPv6;
BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
TYPE:接口类型,常见的有Etherenet,Bridge;
DNS1:DNS服务器指向;
DOMAIN:当前主机所在的域;
DEFROUTE:是否为默认路由所使用的接口;
GATEWAY:默认网关;
IPADDR:IP地址;
NETMASK:子网掩码;
USERCTL:是否允许普通用户控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
WADDR:设备的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服务来控制接口;
修改完成后重启服务:service network restart (centOS 6)
systemctl restart network.service(centOS 7)
②路由的相关配置文件路径:
/etc/sysconfig/network-scripts/route-IFACE
用到非默认网关路由:
支持两种配置方式,不可混用:
(1)每行一个路由条目;
TARGET via GW
(2)每三行一个路由条目;
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NEXTHOP