配置网络
临时配置:命令行调整,重启后失效
--> ifconfig、hostname、route、arp
修改IP地址: ifconfig 接口名称 IP地址[/掩码长度]
禁用、激活网络接口: ifconfig 接口 down
ifconfig 接口 up
修改主机名: hostname 新的主机名
添加/删除默认网关记录: route add default gw IP地址
route del default gw IP地址
添加静态路由: route add -net 目标网段 gw IP地址
route del -net 目标网段
固定配置:静态文件,重启后仍然有效
--> 主机名、网卡、DNS、hosts
** 修改网卡配置文件 --> 重启network服务
1.查看/设置IP地址: ifconfig 只显示活跃的网卡接口
Ø ifconfig [接口名] 如:#ifconfig eth0 查看网卡eth0的ip设置
Ø ifconfig -a 显示所有的网卡,包括被禁用的
Ø ifconfig [接口名] IPv4地址[/掩码长度] //临时修改IP地址
** HWaddr: 对应的是网卡的MAC地址
** inet addr: 对应的是IPv4地址
** 主要接口类型:
ethN 以太网连接、lo 本地回环接口
sitN:ipv6地址网卡接口
fddN:光纤网卡
PPPN:ADSL宽带或VPN连接
2.查看主机名: hostname
临时配置主机名:hostname xxxx //xxxx为新主机名
配置静态主机名:/etc/hostname
配置步骤:
1)配置前, 检查是否设置静态主机名
[root@server0 ~]# hostnamectl
Static hostname:n/a //未设置静态主机名
2)设置为指定的主机名
[root@server0 ~]# vim /etc/hostname //建立主机名配置文件
server0.example.com //自定义主机名
3)配置后,检查结果
[root@server0 ~]# hostnamectl
Static hostname: server0.example.com //已设置静态主机名
重新登录后,可看到命令行提示中的新主机名变化
3.检查本机的路由表,查看网关地址
route -n 或 netstat -rn
** 标记为“UG”的表示网关记录
** 到目标网段 0.0.0.0/0.0.0.0 网关记录称为“默认网关”
4.netstat 显示本机所有网络接口关于服务程序的监听地址、端口的信息
-a 显示所有的接口 all
-n 以数字方式显示 number
-p 进程信息 (进程号PID)
-t tcp连接
-u udp连接
-l 列出本机监听的连接
常用组合:netstat -anptu | grep 程序
** 状态 LISTEN 表示有对应监听的网络服务
** 状态 ESTABLISHED 表示已建立的TCP连接
** 状态 TIME_WAIT 表示在等待客户端请求的连接
示例:netstat -anptu | grep :80 ==>查看Web服务的监听状态进程
netstat -anptu | grep httpd ==>查看httpd进程的监听端口
5.查看 arp缓存表: arp -an
6.测试网络
1)测网络连通性
格式:ping 目标主机
** 选项 -c 包个数、-s 包大小
** 默认会持续ping,按Ctrl+c可终止
** 返回 “xx bytes from 目标主机...” 表示连接正常
** 返回 “Request timeout” 表示网络不通,或者延迟较大
** 返回 “Network is unreachable” 表示网络不可达,通常是未设置默认网关
** 返回 “Destination Host Unreachable” 表示目标主机不可达,配置不通或未开机
2)测试域名解析
格式:host 域名或目标主机IP [DNS服务器]
nslookup 域名或目标主机IP [DNS服务器]
[root@room9pc14 桌面]# host www.qq.com
www.qq.com has address 182.254.18.159
www.qq.com has IPv6 address 240e:e1:8100:28::2:16
** 必须有可用的DNS服务器,否则将无法解析
** 若无法解析域名,就不能以域名的方式访问目标站点
** 若测试时未指定DNS服务器地址,则使用 /etc/resolv.conf中设置的地址
3)跟踪路由过程
格式:tracert 目标地址
traceroute 目标地址
mtr 目标地址 【集成ping和tracert优势】
###############################################################################
网卡配置文件路径:/etc/sysconfig/network-scripts/ifcfg-接口名
--> IP地址、MAC地址、子网掩码、默认网关
** 典型配置含义:
DEVICE=eth0 //设备名
TYPE=Ethernet //网络类型
BOOTPROTO=none //或者dhcp、static
HWADDR=00:0C:29:82:09:E9 //物理MAC地址
ONBOOT=yes //是否启用
NETMASK=255.255.255.0 //子网掩码
IPADDR=192.168.8.128 //指定的静态IP地址
**可以通过MACADDR=00:0C:29:82:09:E8 修改mac地址注意注释原来的行
主机名配置:/etc/sysconfig/network
HOSTNAME=新的主机名
GATEWAY=192.168.8.1 //默认网关地址
DNS设置:/etc/resolv.conf
search localdomain //默认搜索域/后缀
nameserver 192.168.4.1 //DNS服务器1的IP地址
nameserver 202.106.0.20 //DNS服务器2的IP地址
** 还可在网卡配置中设置 DNS1=、DNS2= 来指定,但不推荐使用
** 因为重启 network 服务后,还是会自动写入到 /etc/resolv.conf 文件内
本地主机名映射文件:/etc/hosts
** 用来存放“主机名àIP地址”映射记录
** 可提高域名解析效率(先找hosts文件,再找DNS服务器)
静态路由:/etc/sysconfig/network-scripts/route-eth1
cat /etc/sysconfig/network-scripts/route-eth1
10.0.0.0/8 via 192.168.10.252 dev eth1
去往的网段 via 下一跳地址 dev 出口设备
###############################################################################
修改网卡名
[root@localhost /]# > /etc/udev/rules.d/70-persistent-net.rules #清空udev规则
[root@localhost /]# /etc/sysconfig/network-scripts/ifcfg-eth0 #删除网卡配置文件中MAC地址,修改IP地址保证不冲突
[root@localhost /]# init 6 #重启验证
[root@localhost /]# 如果重启后,eth0没有IP地址。可以尝试重启network服务
###############################################################################
nmcli连接管理
1.查看网络接口:
nmcli connection show
nmcli connection show “连接名”
[root@server001 ~]# nmcli connection show
2.修改网络连接配置:
nmcli connection modify “连接名”参数1 值1 ……
常用参数:
ipv4.method auto|manual
ipv4.address “IP地址/掩码长度「默认网关」”
ipv4.dns DNS服务器地址
connection.autoconnect yes|no //每次开机时是否自动启用
# nmcli connection 修改 '连接名' ipv4.方式 手动配置 ipv4.地址为 'IP地址/子网掩码 网关地址' ipv4.dns DNS服务器地址 每次开机时自动启用
验证修改成功:# cat /etc/sysconfig/network-scripts/ifcfg-eth0
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
rhel7.2 配置ip与网关:
# nmcli connection modify 'System eth0' ipv4.method manual ipv4.addresses '172.25.0.11/24' ipv4.gateway 172.25.0.254 ipv4.dns '172.255.254.254' connection.autoconnect yes
###############################################################################
使用图形界面配置IP地址
在虚拟机svrver0上操作
# nm-connection-editor----->edit------》ipv4-------->manual-----》add
###############################################################################
3.激活/禁用网络连接: nmcli connection up|down “连接名”
#nmcli connection up 'System eth0' #刷新配置
systemctl restart NetworkManager
# ifconfig #查看IP地址,是否生效
4.添加/删除网络连接:
nmcli con add con-name "连接名" ifname "网卡名" type ethernet
nmcli con delete "连接名"
5.配置永久的DNS服务器地址 (配置完立即生效)
配置文件: /etc/resolv.conf (DNS最终有效配置文件)
关键记录:nameserver DNS服务器地址
# vim /etc/resolv.conf #指定DNS服务器地址
# cat /etc/resolv.conf
Search example.com //默认域后缀
nameserver 172.40.1.10 //设置DNS服务器地址
###########################
示例:配置静态IP地址参数
1)查看当前主机的网卡设备的连接名称、网络连接
[root@server0 ~]# nmcli connection show
名称 UUID 类型 设备
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
2)修改连接“System eth0”的配置,将配置方式指定为manual,指定IP地址、默认网关、DNS地址,并配置自动连接:
[root@server0 ~]# nmcli connection modify "System eth0" ipv4.method manual ipv4.addresses "172.25.0.11/24 172.25.0.254" ipv4.dns 172.25.254.254 connection.autoconnect yes
3)重新激活连接“System eth0”(通过up指令激活连接配置,必要时也可先down再up)
[root@server0 ~]# nmcli connection up "System eth0" //激活连接
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
确保系统服务NetworkManager开机自启:
1.[root@server0 ~]# systemctl restart NetworkManager
2.[root@server0 ~]# systemctl enable NetworkManager
4)检查修改结果,确认无误
检查IP地址:[root@server0 ~]# ifconfig eth0
检查默认网关地址:[root@server0 ~]# route -n
检查DNS服务器地址:[root@server0 ~]# cat /etc/resolv.conf
如果在使用nmcli修改网络连接时并未指定ipv4.dns,也可以直接修改DNS客户端配置文件/etc/resolv.conf,确保添加即可。
通过ssh远程访问验证网络配置结果,可以通过 命令host+主机名查询主机的ip地址。
###############################################################################
配置高级连接
配置ipv6地址 ——同ipv4
IPv4地址表示:32个二进制位,点分十进制数
IPv6地址表示:128个二进制位,冒号分隔的十六进制数
每段内连续的前置0可省略、连续的多个:可简化为::
针对IPv6目标地址的连通性测试应使用ping6命令工具。
nmcli命令行配置
基本配置方法
1)查看连接名:nmcli connection show
2)nmcli connection modify "连接名" ipv6.method manual ipv6.addresses "IPv6地址/掩码长度[默认网关]" connection.autoconnect yes
3)激活更改过的连接(必要时先down再up):nmcli connection up “连接名”
# ping6 IPv6目标地址
###############################################################################
示例:配置IPv6地址
步骤一:修改主机server0的网卡eth0的配置
1)确认网卡eth0所属的网络连接名(NAME)
[root@server0 ~]# nmcli connection show
NAME UUID TYPE DEVICE
System eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 802-3-ethernet eth0
2)修改此连接的IPv6地址配置
使用方法一(命令行):
[root@server0 ~]# nmcli connection modify "System eth0" ipv6.method manual ipv6.addresses "2003:ac18::305/64" connection.autoconnect yes
或者,使用方法二(图形工具),运行nm-connection-editor,在打开的图形程序界面中双击连接名称System eth0,选择“IPv6 Settings”选项卡。
然后在“Method”处下拉选择“Manual”,再单击中间栏右侧的“Add”按钮添加指定的IPv6地址2003:ac18::305、掩码长度64,勾选底部的“Require IPv6 addressing for this connection to complete”,最后单击右下角的“Save”保存,并关闭配置窗口。
3)激活新配置
[root@server0 ~]# nmcli connection up "System eth0"
Connection successfully activated (D-Bus active path:
/org/freedesktop/NetworkManager/ActiveConnection/1)
4)确认地址已成功设置
执行ifconfig命令可以看到新增加的IPv6地址:
[root@server0 ~]# ifconfig eth0 | grep inet6
inet6 2003:ac18::305 prefixlen 64 scopeid 0x0
或用ping6命令:[root@server0 ~]# ping6 2003:ac18::305
步骤二:修改desktop0的网卡eth0的配置,除IPv6地址以外,其他操作与步骤一相同。
步骤三:测试主机server0、desktop0之间的IPv6地址互连
在server0上,使用ping6命令测试desktop0的IPv6地址,可以正常连通:
[root@server0 ~]# ping6 2003:ac18::306
步骤四:确保配置有正确的静态主机名,避免重启后无法确定本机的主机名,容易引起混淆。
对于主机server0:[root@server0 ~]# hostnamectl set-hostname erver0.example.com
[root@server0 ~]# hostnamectl
Static hostname: server0.example.com
对于主机desktop0:[root@desktop0 ~]#hostnamectl set-hostname desktop0.example.com
[root@desktop0 ~]# hostnamectl
Static hostname: desktop0.example.com
###############################################################################
配置聚合连接
链路聚合的优势
聚合连接(team),也称为链路聚合:
指的是网络连接的捆绑/组队,通过将多个实际网卡(team-slave)整个为逻辑上的单个连接,实现负载均衡、热备份等单块网卡难以完成的特殊功能。
由多块网卡(team-slave)一起组建而成的虚拟网卡,即“组队”。
活跃路由器(192.168.1.253) 备份路由器(192.168.1.252) | eth1 eth2
虚拟路由器(192.168.1.254) | team
聚合连接的类型:
轮询式(roundrobin)的流量负载均衡
热备份(activebackup)连接冗余
热备份-聚合连接(activebackup): {"runner":{"name":"activebackup"}}
负载均衡-聚合连接(roundrobin): {"runner":{"name":"roundrobin"}}
定义聚合连接的类型配置时,采用JSON语法标记,主要特点如下:
标记一个对象——{对象} 每一个对象——名称:值 每一个字符串——"字符串"
实现链路聚合的条件
网络接口的准备:2块或2块以上的物理网卡 #ifconfig -a | grep ^eth
nmcli命令行配置
配置的准备(思路):
连接名称(con-name):由管理员自定义的名称
接口名称(ifname):由内核识别的实际的网卡设备的名
获取配置team聚合连接的用法帮助 ——man nmcli-examples ==》查找 Team1
1)新建聚合连接team0,为聚合连接提供配置(类型、连接名、运行器、IP地址、运行类型)
格式:# nmcli connection add type team con-name "聚合连接名" ifname "接口名"
每次开机自动连接 config '运行配置'
# nmcli connection add type team con-name team0 ifname team0 //二者位置可以互换
autoconnect yes //开机自动启用
config '{"runner": {"name": "activebackup"}}' //可以通过man team.conf查找
运行器的类型切换(查看team帮助信息:man teamd.conf ==》 /"runner)
在所有的帮助中查找:/example 按G到末行
第二种方法修改方式 按键盘上'n'可以跳转匹配 按'q'退出
# nmcli connection modify team0
team.config '{"runner": {"name": "activebackup"}}'
生成的配置文件 :/etc/sysconfig/network-scripts/ifcfg-team0
2)创建组成员,为成员网卡提供配置(类型、连接名、主连接)
格式:#nmcli connection add type team-slave con-name "第几块成员网卡连接名"
ifname "第几块成员网卡接口名" master "聚合连接名" 每次开机自动连接
添加成员网卡(team0-1 ==> eth1、team0-2 ==> eth2)
成员1#nmcli connection add type team-slave
con-name team0-1 ifname eth1 master team0 autoconnect yes
成员2#nmcli connection add type team-slave
con-name team0-2 ifname eth2 master team0 autoconnect yes
3)组队的内部分配方式(配IP),为热备份
#nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.1/24
connection.autoconnect yes
4)分别激活聚合连接、激活成员网卡
#nmcli connection up team0
#nmcli connection up team0-1
#nmcli connection up team0-2
5)检查聚合连接运行状态:#teamdctl team0 state
6)如果配置错误,要删除配置后重新配置
# nmcli connection delete team0
# nmcli connection delete team0-1
# nmcli connection delete team0-2
# 在重新配置一遍team0
7)测试
Ping测试 ifconfig eth1 down //man teamd.conf查看
示例:配置聚合连接
在两个虚拟机 server0、desktop0之间配置一个链路,要求如下:
此链路使用接口 eth1 和 eth2; 此链路在其中一个接口失效时仍然能工作
此链路在 server0 上使用下面的地址 172.16.3.20/255.255.255.0
此链路在 desktop0 上使用下面的地址 172.16.3.25/255.255.255.0
此链路在系统重启之后依然保持正常状态
除了所配置的IP地址不一样以外,在server0、desktop0主机上的其他操作相同。
此处仅列出在server0上的配置过程。
步骤一:准备练习用网卡环境
新建的聚合连接将组合新增加的两块网卡eth1、eth2。
[root@server0 ~]# ifconfig
步骤二:创建聚合连接配置
1)新建聚合连接
# nmcli con add con-name team0 type team ifname team0
config '{ "runner":{ "name":"activebackup" } }'
Connection 'team0' (8e61d730-50ff-4a7b-8ca0-fcf5955f6ea7) successfully added.
2)配置IPv4地址
# nmcli con modify team0 ipv4.method manual ipv4.addresses '172.16.3.20/24' connection.autoconnect yes
3)新建聚合成员连接
# nmcli con add con-name team0-p1 type team-slave ifname eth1 master team0
Connection 'team0-p1' (a62d23a2-9a2a-4855-8fbc-60ce1fd43f0b) successfully added.
或 # nm-connection-editor
.. .. //添加team0,添加成员网卡eth1、eth2,配置热备份,配置IP地址
# nmcli con add con-name team0-p2 type team-slave ifname eth2 master team0
Connection 'team0-p2' (f4d4980e-8123-4840-89ac-1af148cc2eea) successfully added.
步骤三:激活聚合连接
1)激活聚合连接
[root@server0 ~]# nmcli connection up team0
2)激活聚合成员连接
[root@server0 ~]# nmcli connection up team0-p1
[root@server0 ~]# nmcli connection up team0-p2
步骤四:确认聚合连接状态
1)查看聚合连接地址
[root@server0 ~]# ifconfig team0
2)查看聚合连接运行状态
[root@server0 ~]# teamdctl team0 state
setup:
runner: activebackup //运行模式/类型
ports:
eth1 //成员网卡1
eth2 //成员网卡2
runner:
active port: eth1 //当前活动的成员网卡