使用桥接方式配置Centos7-Linux虚拟机网络,并连通外网

所用镜像-密码2o3r

1 网络连接方式

  1. **Bridged ** 桥接模式(推荐): 同事关系,地位平等
    VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信,虚拟系统和宿主机器的关系,就像连接在同一个Hub(多端口转发器)上的两台电脑。
  2. NAT 网络地址转换模式: 下属关系,用宿主的资源连网
    虚拟系统借助NAT的功能,通过宿主机所在的网络来访问公网。在这种模式下宿主机成为双网卡主机,同时参与现有的宿主局域网和新建的虚拟局域网,但由于加设了一个虚拟的NAT服务器,使得虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来看,只能看到宿主机,完全看不到新建的虚拟局域网。
  3. **Host-only ** 仅主机模式: 小三关系,新开辟的局域网
    新建了一个由所有虚拟机与宿主机所构成的局域网,但该局域网与宿主机本身所处的现有局域网是相互独立的,如果不做额外路由设置,这两个局域网之间不会连通,因此新建的局域网可以认为是一个单独从属于当前宿主机的私有网络,其成员为当前宿主机和相关的所有虚拟机。

image-20220525135540151

2 获取可用IP以及所在网段

配置动态ip,让它自动分配一个可用的ip

#修改网卡配置文件,根据机器的版本等不同,名称不一定是ifcfg-enp0s3
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
# 修改文件内容:
ONBOOT=yes
#保存退出后,重启网络,以让linux重新读取配置文件
systemctl restart network   #centos6下是service network restart
#查看新的ip
ip addr   #centos6下是ifconfig

3.新建网卡,与连通外网的机器做网络共享

该网卡最好是一个虚拟网卡(搜索如何配置 Windwos 虚拟网卡),在可以上网的网卡上,设置对该虚拟网卡的共享
image-20220525135441507
将虚拟机设置为和虚拟网卡桥接
image-20220525135314170

编辑–虚拟网络适配器中,手动指定桥接的网卡

image-20220525135405403

注意,当可以联网的那个网络连接更改了ip后,需要重新设置网络共享(先把可上网的连接取消虚拟网卡的共享,然后禁用–启用,再绑定虚拟网卡共享)

如果网络实在不能联网,cmd输入ipconfig查看主网的ip,然后手动调整虚拟网卡的ipv4地址和网关为同一网段

否则此时无法联网,yum也会 [Errno 14] curl#6 - "Could not resolve host: mirrors.

4 配置静态IP

  • 不希望使用动态ip,想使用固定的ip便于统一管理

网络地址分为 192.168.137.111 四段,每段对应一个8位二进制,范围 0~255
如果希望将后8位改为可变的内容,前3个8位不变,也即分配出 192.168.137.111 192.168.137.36 192.168.137.226 这种ip,子网范围在 192.168.137.1~192.168.137.255
此时子网掩码为不变的24位全1与可变的8位全0,也即子网掩码为 255.255.255.0
后8位中约定使用1作为当前子网网关的地址,网关为 192.168.137.1

网关配置文件:

# 网络类型为以太网
TYPE=Ethernet 
# 网卡设备名,设备名一定要跟文件名一致
DEVICE=ens33
# 手动分配ip   可配置为dhcp动态分配ip后使用static固定ip便于xsehll连接
BOOTPROTO=static 
# 该网卡是否随网络服务启动
ONBOOT=yes 

# 该网卡ip地址
IPADDR=192.168.137.100
# 子网掩码
NETMASK=255.255.255.0 
# 网关 一般是当前网段.1
GATEWAY=192.168.137.1 
# DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址
DNS1=8.8.8.8 
#UUID是当前虚拟机在局域网的唯一标识,可以删掉,以免克隆的时候出现问题
#IPV6相关的设置用不到可以去掉

如果配置后不生效:

#配置网络为工作状态,避免某些情况下此处被设置为no影响访问网络
vi /etc/sysconfig/network
NETWORKING=yes # 网络是否工作,此处一定不能为no
source /etc/sysconfig/network
#配置公共DNS服务
vim /etc/resolv.conf
nameserver 223.5.5.5

关闭并禁用防火墙(否则后续学习时各不同需要逐个开启端口很麻烦),然后重启网络服务

#临时关闭防火墙
systemctl stop firewalld
#禁止防火墙开机自启
systemctl disable firewalld

#重启网络服务,使网关配置文件生效
systemctl restart network

#注意:除了linux的阻拦之外,windows上也要允许linux访问,我直接开启了“文件和打印共享”,然后就可以在linux中ping通windwos了。如果不行可继续思考windows防火墙,具体 可参考https://blog.csdn.net/DTFT_/article/details/104936264

5 配置DNS(可选)

配置DNS

检查NetManager的状态:systemctl status NetworkManager.service
检查NetManager管理的网络接口:nmcli dev status 
检查NetManager管理的网络连接:nmcli connection show
设置dns:nmcli con mod ens33 ipv4.dns "114.114.114.114 223.5.5.5" 
让dns配置生效:nmcli con up ens33


注意当dns生效时
使用shell连接虚拟机时ssh的服务端在连接时会自动检测dns环境是否一致,会导致shell的连接非常慢,此时可以
1.执行vi /etc/ssh/sshd_config把UseDNS yes,改为UseDNS no
2.重启SSHD服务   systemctl restart sshd 或 service sshd restart
之后实测秒连

6 校验网络连通性

ping www.baidu.com

curl -v https://xxx:8899 -d "name=zhangsan"
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
增加header:    -H "xxx"

curl参数传递json:
1.json数据中的双引号需要加反斜杠()来转义(csdn插件可一键转义)
2.json数据需要双引号括起来
3.参数最外层可不加引号,但是json数据中间不能有空格。

curl发送POST请求
curl -d'login=emma&password=123'-X POST https://google.com/login
或
curl -d 'login=emma' -d 'password=123' -X POST  https://google.com/login


#检测能否连通指定ip的指定端口
telnet 10.61.6.6 1555
#可以打印出完整的路由情况
traceroute 10.61.6.6 1555

7 防火墙

#1查看防火状态
systemctl status firewalld
service  iptables status

#2:暂时关闭防火墙
systemctl stop firewalld
systemctl stop firewalld.service
service  iptables stop

#3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off

#4:重启防火墙
systemctl enable firewalld
service iptables restart  

如果网络已经按照如上配置还不通,尝试把虚拟网卡和共享网络给虚拟网卡的那个网卡都重启一下,再尝试

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值