一、网络配置的常用工具
例如:
ifcfg:ifconfig、route、netstat
ip:object [link、addr、route]、ss、tc
system-config-network-tui(图形界面)
centos 7:独有的网络配置工具
nmcli、nmtui、nm-connection-editor
下面来对上面所述的常见命令进行详细讲解:
ifconfig命令:
ifconfig interface [options]
功能:可用于修改IP地址、掩码、mtu、广播地址等信息,也可禁用或启用网卡
常用组合:
ifconfig:仅显示启用的网卡
ifconfig -a:显示所有网卡,包括不启用的
ifconfig eth0 192.168.1.100:修改eth0的IP地址
注意:此处后面不加任何参数,则系统会依照IP所在的范围自动计算出掩码及广播地址等IP参数
ifconfig eth0:0 192.168.1.200:在网卡上面再添加设备别名,多加一个IP地址
注意:ifconfig 添加IP地址只能使用别名,不能直接添加,但IP命令可以
必须使用静态联网,也可更改配置文件:
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes 物理网卡启动就启动
ifconfig eth0 up:启用网卡
ifconfig eth0 down:禁用网卡
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 mtu 1500
ifconfig eth0 192.168.1.100/24.0 mtu 1500
注意:上述命令执行完,立即生效,但不会永久有效,如果想永久有效可以配置etc/sysconfig/network-scripts/ifcfg-ethx文件,配置完重启服务即可。
route命令:
功能:配置路由表,增加删除路由路由表中的条目。
常用组合:
route -n:以数字格式显示路由信息,不用反解
route add [-net|host] target [netmask 掩码][gw 网关][dev 接口名]
route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1
添加一个路由条目到达10.0.0.0/8
route add -net default gw 192.168.1.1 dev eth1
route add -net 0.0.0.0/0.0.0.0 gw 192.168.1.1 dev eth1
添加默认网关
route del -net 10.0.0.0/8 :删除网络
route del -net default gw 192.168.1.1:删除网关
route del defalut :删除网关
root@cenots6.8 ~ # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth1 0.0.0.0 10.1.0.1 0.0.0.0 UG 0 0 0 eth1 目标网络 网关 子网掩码 U:已启用 G:网关 经过的网卡
注意:如果gw处显示是0.0.0.0表示该路由是直接本机传送,也就是说通过局域网的mac直接发送,若果显示ip的话,表示该路由需要经过路由器(网关)的帮忙发送出去
配置文件:/etc/sysconfig/network-scripts/route-IFACE
上述配置过程也是临时生效,不会永久有效,可通过配置使其永久有效,路由配置文件默认是不存在的,需要手动创建,具体格式如下:
(1) TARGET via GW
10.0.0.0/8 via 172.16.0.1
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
ip命令:
ip object :{ link | addr | route | netns }
ip link set [dev] eth0
功能:显示设备信息、启用或禁用网卡和多播、更改网卡名称等
ip link set [dev] eth1 down:禁用网卡
ip link set [dev] eth1 up:启用网卡
ip link set eth1 name eno1234567:更改网卡名称
ip link eth1 multicast on|off:启用或禁用多播功能
ip link show [ethX]:显示设备信息
ip addr {add|del|show|flush}
功能:添加、删除、显示IP地址
增:
ip addr add 192.168.1.102/24 dev eth1
ip addr list eth1可以看到是secondary eth1
ip addr add 10.0.10.100/8 dev eth1 在添加一个地址
ip addr list eth1 可以看到不是third 而是global eth1 (因为不在同一个网络)
删:
ip daddr del 192.168.1.102/24 dev eth1
ip addr flush dev ethXXX :清空IP地址
查:
ip addr show [ethXXX]
ip route {add|chage|replace}
功能:
增:
ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1
要想到达192,168.0.0这个网络地址要经由10.0.0.1这个网关
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100
ip route add default via 172.16.0.1 dev eth0 添加默认路由
删:
ip route delete 192.168.1.0/24
ip route flush dev eth0
查:
ip route show|list
ip route show src 192.168.1.100
ip route get 192.168.1.0/24
nmcli命令:
NetworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置,一个网络接口可以有多个连接配置,但同时只有一个连接配置生效。
显示所有包括不活动的连接:
nmcli con show
显示所有活动连接
nmcli con show –active
显示网络连接配置
nmcli con show "System eth0"
显示设备状态
nmcli dev status
显示网络接口属性
nmcli dev show eno16777736
创建新连接default,IP自动通过dhcp获取
nmcli con add con-name default type Ethernet ifanme eth0
删除连接
nmcli con del default
创建新的static,指定静态IP,不自动连接
nmcli con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw
172.25.X.254
启用static连接配置
nmcli con up static
启用default连接配置
nmcli con up default
查看帮助
nmcli con add help
修改连接设置
nmcli con mod“static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
nmcli与配置文件的对应关系
修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down "system eth0"可被自动激活
nmcli con up "system eth0"
nmcli dev dis eth0 禁止网卡,防止为自动激活
网络组Network Teaming:
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
但实践证明,没有bonding稳定。
多种方式
runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
注意:
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口不会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入
创建网络组接口:
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 连接名, INAME 接口名,JSON
指定runner方式
格式: '{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
创建port接口:
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 连接名
INAME 网络接口名
TEAM 网络组接口名
连接名若不指定,默认为team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
I NAME 设备名 CNAME 网络组接口名或port接口
应用实例:
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name"activebackup}}'
cd /etc/sysconfig/network/ 目录下可以看到ifcfg-team0文件
nmcli connection modify team0 ipv4.addresses 10.1.252.213/16
nmcli connection modify team0 ipv4.method manual 指定BOOTPROTO=none
nmcli connection modify team0 ipv4.dns 8.8.8.8 ipv4.gateway 10.1.0.1
nmcli connection add con-name team0-eth0 type team-slave ifname eth0 master team0
nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli connection up team0-eth0
nmcli connection show
teamdctl team0 state
二、显示网络连接状态
常用命令:netstat、ss
netstat:
显示路由信息:netstat -rn = route -n
-r:显示内核路由表
-n:数字格式
显示网络连接:
选项:
-t:查看tcp协议的连接
-u:显示udp协议的连接
-l:显示正在监听的连接,不加l是显示已建立的连接
-n:以数字的格式显示
-a:显示所有的
-w:裸套接字相关的连接
-e:扩展格式
-p:显示PID
显示接口信息:
netstat -i
netstat -I=ethXXX
ifconfig -s ethXXX
例如:watch -n1 'netstat -I=eth1' 一秒钟刷新一次,网络接收和发送数据包的状态
可配合ping -f IPaddr 查看状态(ping -a ipaddr 可以解析到主机名)
ss命令:
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息,因此ss性能要优netstat命令。
格式:ss [option]…[filter]
选项:
-t:tcp相关的连接
-u:udp相关的连接
-w:raw socket 相关的连接
-l:监听状态的连接
-a:所有状态的连接
-p:先关的程序及其PID号
-e:扩展格式信息
-m:内存用量
-o:计时器信息
filter:[state TCP-state][expression]
listen
established
fin_wait_1
fin_wait_2
syn_sent
syn_recv
closed
表达式:
dprot =
sport =
例如:'( dport = :22 or sport = :22 )'
应用举例:
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 6 :
显示主机名:hostname
修改主机名:hostname Name 临时生效
修改配置文件:/etc/sysconfig/network
centos 7 :
显示主机名:hostname、hostnamectl、hostname status
修改主机名:hostname set-hostname Name 永久有效
修改配置文件:/etc/hostname
四、网卡名称:
centos 6:
配置文件:/etc/udev/rules.d/70-persistent-net.rules
注意:这个文件中的网卡名要与网卡配置文件中保持一致,否则会报错
centos 7:
可以将en######的命名方式还原为ethX,方法如下:
1、编辑/etc/default/grub配置文件GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或修改/boot/grub2/grub.cfg
2、为grub2生成其配置文件grub2-mkconfig -o /etc/grub2.cfg
3、重启系统
原创文章,作者:Naruto,如若转载,请注明出处:http://www.178linux.com/44210
评论列表(1条)
对网络管理工具用法总结的很完善,建议多操作,熟练运用。