本机索引:
一、基本网络配置
二、主机、网卡名称管理
三、网卡别名
四、Bonding技术
五、实现网络组
六、Linux网络管理常用命令
一、基本网络配置:
将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