Linux系统网络管理

本机索引:

一、基本网络配置

二、主机、网卡名称管理

三、网卡别名

四、Bonding技术

五、实现网络组

六、Linux网络管理常用命令

 

timg_image&quality=80&size=b9999_10000&sec=1525350267731&di=3075ec3ab062503ee92e

一、基本网络配置:

将Linux主机接入网络,需要配置网络相关设置

一般包括以下内容:

主机名

IP/netmask

路由:默认网关

DNS服务器:

主DNS服务器

次DNS服务器

 

网络配置文件:

IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/networkscripts/ifcfg-IFACE

DEVICE=eth0                   针对网卡名称(必须有)

ONTBOOT=yes                 yes表示开机自动启动网卡,默认yes

BOOTPROTO=dhcp         自动获取,生产中一般改为手动配置static|none(必须有)

IPADDR=172.20.0.6        设置IP(必须有)

NETMASK=255.255.0.0  传统方式配置掩码(必须有)

PREFIX=16                CIDR法设置掩码(必须有)

DEFROUTE=yes            是否将此配置的网关设为默认路由

GATEWAY=172.20.0.1    设置网关

DNS1=114.114.114.114 设置DNS1

DNS2=8.8.8.8          设置DNS2

TYPE                          接口类型,常见有Ethernet,Bridge

UUID                         设备唯一表示

 

路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

注意:需service network restart生效

两种风格:

(1) TARGET via GW

如:10.0.0.0/8 via 172.16.0.1

(2) 每三行定义一条路由

         ADDRESS#=TARGET

         NETMASK#=mask

         GATEWAY#=GW

 

网络配置方式:

静态指定:

ifconfig,route,netstat

ip:object{link,addr,route},ss,tc

system-config-network-tui,setup      图形工具

直接修改配置文件

动态分配:

DHCP: Dynamic Host Configuration Protocol

 

二、主机、网卡名称管理

CentOS6网卡名称

接口命名方式:

以太网:eth[0,1,2…]

ppp:ppp[0,1,2…]

网络接口识别并命名相关的udev配置文件:

/etc/udev/rules.d/70-persistent-net.rules

查看网卡:

dmesg |grep –i eth

ethtool -i eth0

卸载网卡驱动:

modprobe -r e1000

rmmod e1000

装载网卡驱动:

modprobe e1000

 

修改主机名:

hostname [NEWNAME] 临时生效,重启恢复

永久生效:

CentOS6:

修改/etc/sysconfig/network

CentOS7:

修改/etc/hostname

或:hostnamectl set-hostname [NEWNAME]

hostname [NEWNAME] 使配置文件生效

 

修改CentOS7网卡命名为传统命名方式,实现自动化运维

(1) 编辑/etc/default/grub配置文件

GRUB_CMDLINE_LINUX=”rhgb quiet net.ifnames=0″

或:修改/boot/grub2/grub.cfg   linux 16 行尾添加 net.ifnames=0

(2) 为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

(3) 重启系统

 

 

修改本地解析器:

/etc/hosts

本地主机名数据库和IP地址的映像

对小型独立网络有用

通常,在使用DNS前检查

一般建议在127.0.0.1的行尾加上本机的hostname

注:如果hostname发生更改,一定要记得同时更改/etc/hosts里的原添加内容

搭建网站也建议将网站地址与网页名称对应写入到/etc/hosts文件中,避免解析出错

 

设置DNS:

/etc/resolv.conf

nameserver DNS_SERVER_IP1

nameserver DNS_SERVER_IP2

nameserver DNS_SERVER_IP3

 

 

 

三、网卡别名

对虚拟环境有用,可将多个IP地址绑定到一个网卡

eth0:1、eth0:2、eth0:3

 

ifconfig命令:

ifconfig eth0:0 192.168.1.100/24 up

ifconfig eth0:0 down

ip命令:

ip addr add 172.16.1.2/16 dev eth0

ip addr add 172.16.1.1/16 dev eth0 label eth0:0

ip addr add 172.16.1.2/16 dev eth0 label eth0:0

ip addr del 172.16.1.1/16 dev eth0 label eth0:0

ip addr flush dev eth0 label eth0:0

 

为别名设备添加配置文件,永久生效

(1)service NetworkManager stop      关闭图形界面网络管理

(2)ifctg-ethX:xxx

(3)必须使用静态IP配置

DEVICE=eth0:0

IPADDR=10.10.10.10

NETMASK=255.0.0.0

ONPARENT=yes

(4)最后重启网络服务

service network restart

 

四、网络接口配置bonding

Bonding是将多个网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡

设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供链接,物理网卡被修改为相同的MAC

地址

 

Bonding工作模式:

Mode 0 (balance-rr)

轮转(Round-robin)策略:从头到尾顺序的在每个slave接口上发送数据包。提供负载均衡和容错的能力

 

Mode 1 (active-backup)

活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。

为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

 

Mode 3 (broadcast)

广播策略:在所有的slave接口上传送所有的报文,提供容错能力

 

查看bond0主备状态:/proc/net/bonding/bond0

 

创建bonding设备的配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

BONDING_OPTS= “miimon=100 mode=0”

 

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

USERCTL=no

 

也可使用nmcli实现bonding

添加bonding接口

nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup

添加从属接口

nmcli con add type bond-slave ifname ens7 master mybond0

nmcli con add type bond-slave ifname ens3 master mybond0

注:如无为从属接口提供连接名,则该名称是接口名称加类型构成,要启动绑定,则必须

首先启动从属接口

nmcli con up bond-slave-eth0

nmcli con up bond-slave-eth1

启动绑定

nmcli con up mybond0

 

 

取消bonding

1.卸载驱动模块

lsmod                        显示所有已加载的驱动模块

lsmod | grep bond

ifconfig bond0 down      禁用网卡

modproble -r bonding

 

2.删除和修改文件

rm -r ifcfg-bond0

vim ifcfg-eth{0,1}

service     network restart       重启网络服务

 

五、实现网络组

代替bonding的一种技术

网络组:将多个网卡聚合在一起的方法,从而实现冗错和提高吞吐量

多种方式运行:

broadcast                 广播模式

roundrobin               轮播模式

activebackup           主备模式

loadbalance              负载均衡模式

lacp (implements the 802.3ad Link Aggregation Control Protocol)

 

创建网络组Network Teaming(RHCE)

nmcli con add type team con-name team0 ifname team0 config

‘{“runner”: {“name”: “loadbalance”}}’

nmcli con mod team0 ipv4.addresses 192.168.1.100/24

nmcli con mod team0 ipv4.method manual

nmcli connection show

nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0

nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0

nmcli con up team0

nmcli con up team0-eth1

nmcli con up team0-eth2

nmcli connection show

teamdctl team0 state

 

删除网络组:

第一种方法:删除network-scripts下配置文件

第二种方法:nmcli connection delete team0 team0-eth1 team0-eth2

 

 

 

六、Linux网络管理常用命令:

 

ifconfig 命令          配置网络接口

-a                       查看所有接口信息

interface up|down 禁用|启用接口

设置IP地址

ifconfig IFACE IP/netmask      支持两种掩码设置IP

IP netmask

注意:此命令执行将立即生效

 

route  命令                       路由管理命令

-n                       查看路由表

添加路由:

route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] if]    

添加目标:192.168.1.3 网关:172.16.0.1到路由表

route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

添加目标: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

添加默认路由,网关: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

删除路由:

route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] if]

 

 

配置动态路由

通过首行进程获取动态路由

安装quagga包

支持多种路由协议:RIP(根据跳数)、OSPF(综合带宽、跳数等)和BGP

命令vtysh配置

 

 

netstat   命令                   查看网络连接,路由表,接口统计等信息

option:

-t                       tcp协议相关

-u                       udp协议相关

-w                      raw socket相关

-l                        处于监听状态

-a                       所有状态

-n                       以数字显示所有IP和端口

-e                       扩展格式

-p                       显示相关进程及PID

常用组合选项:

-nr                     查看路由表

-nt                     查看TCP进程

-ntu                   查看TCP及UDP进程

-ntul                           查看处于监听状态LISTEN的服务

-tul                    端口程序不进行名称解析显示

-ntua                         查看所有状态的服务

-ntuap                       查看哪个进程打开的此端口

-ntuape                     扩展信息,包括使用用户UID

统计端口数据

-i                        查看网卡收发包信息

-I=eth0                      只显示eth0网卡收发包信息等同于ifconfig -s eth0

 

 

 

ss 命令

格式:ss [option]…[FILTER]

用来代替netstat的新命令,netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag

模块通信获取socket信息。

option:

-t                       tcp协议相关

-u                       udp协议相关

-w                      裸套接字相关

-x                       unix sock相关

-l                        listen状态的链接

-a                       所有链接

-n                       以数字格式显示

-p                       相关的程序及PID

-e                       扩展的信息

-m                     内存用量

-o                      计时器信息

TCP常见状态:

LISTEN                      监听

ESTABLISHED           已建立的链接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

CLOSED

支持EXPRESSION:

dport=                       目标端口

sport=                       源端口

常用组合用法与netstat类似

-tan,-tanl等

常见用法:

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详细信息

 

 

 

ip  命令    配置Linux网络属性

格式:ip [OPTIONS] OBJECT {COMMAND|help}

       OBJECT={link|addr|route}

 

网络设备配置:

ip link       set IFACE down|up 禁用|启用网卡

ip link       show [up]                 显示数据链路层信息[仅显示处于激活状态接口]

 

ip地址设置:

ip addr {add|del} IP dev IFACE

ip address add IP dev IFACE label ALIASIFACE              添加地址时指定网卡别名

ip address add IP dev IFACE scpe{global|link|host}    指明作用域

global:全局可用

link:仅链接可用

host:本机可用

ip address flush dev IFACe  清空IP地址

 

路由管理:

ip r|route [show|list]                               查看路由表

ip route add|del TARGET via GW dev IFACE 添加|删除路由

ip route flush dev IFACE                         清空路由表

 

常用命令:

ip help                                                 查看ip命令使用帮助

ip link                                                   查看数据链路层信息

ip link set eth1 up|down                          设置eth1网卡启用|禁用

ip address|a                                       查看网卡信息

ip route|r                                            查看路由信息

ip route add|del IP/24 via gateway                添加路由

ip address add 2.2.2.2/24 dev eth0                添加IP地址

ip address add 2.2.2.2/24 dev eth0 label eth0:2添加别名网卡IP地址

ip address flush dev eth0                         清空eth0网卡上所有ip地址

 

nmcli                 管理网络管理器的命令行工具

格式:nmcli [OPTIONS] OBJECT COMMAND

OBJECT:

device                       显示和管理网络接口

connection|con               管理网络连接

 

修改IP地址等属性:

nmcli connection modify IFACE [+|-]setting.property value

setting.property:

ipv4.addresses

ipv4.gateway

ipv4.dns1

ipv4.method manual | auto

修改配置文件执行生效:

systemctl restart network

nmcli con reload

设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,

但同时只有一个连接配置生效

使连接配置生效|失效:

nmcli con up|down eth0

显示所有包括不活动连接

nmcli con show

显示所有活动连接

nmcli con show –active

显示网络连接配置

nmcli con show “System eth0“

显示设备状态

nmcli dev status

显示网络接口属性

nmcli dev show eth0

创建新连接default,IP自动通过dhcp获取

nmcli con add con-name default type Ethernet ifname eth0

删除连接

nmcli con del default

创建新连接static ,指定静态IP,不自动连接

nmcti con add con-name static ifname eth0 autoconnect no type

Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 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

DNS设置,存放在/etc/resolv.conf文件中

PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下

面命令:

nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

修改连接配置后,需要重新加载配置

nmcli con reload

nmcli con down “system eth0” 可被自动激活

nmcli con up “system eth0”

nmcli dev dis eth0 禁用网卡,访止被自动激活

图形工具

nm-connection-editor

字符工具

nmtui

nmtui-connect

nmtui-edit

nmtui-hostname

 

测试网络

在命令行下测试网络的连通性

显示主机名

hostname

测试网络连通性

ping

mtr

显示正确的路由表

ip route

确定名称服务器使用:

nslookup

host

dig

跟踪路由

traceroute

tracepath

 

网络客户端工具

ftp,lftp:子命令:get、mget、ls、help

ftp [-p port] [-u user[,password]] SERVER

lftpget URL      直接跟URL地址下载

 

wget [option]… [URL]…

-q: 静默模式

-c: 断点续传

-P:保存在指定目录

-O: 保存为指定的文件名

–limit-rate=: 指定传输速率,单位K,M等,生产中最好限速

links URL          图形界面浏览器

–dump            只显示文字

–source          查看网页源码

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97416

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code