VM中CentOS7通过NAT方式设置静态IP

一.设置VM的NAT方式

1.打开VM->编辑->虚拟网络编辑器->点击更改设置

这里写图片描述

2.选中VMnet8->取消使用本地DHCP服务将IP地址分配给虚拟机->点击NAT设置

这里写图片描述

3.查看网关(GATWAY)IP,设置端口转发(这样你可以进行主机与虚拟机的联系) 点击添加 这里我设置的虚拟机的IP为192.168.140.140

3.1 你自己可以根据你的子网IP随意设置的IP地址:192.168.140.XXX

这里写图片描述

3.2 主机端口号可以从0~65535,但是最好设置为10000~65535,虚拟IP地址即为你想要设置的IP地址,虚拟机端口号根据你所需服务设置比如22是用于ssh服务,80是用于http服务,3306是用于MySQL服务。(下几节会进行讲解通过主机客户端(xshell,xftp,浏览器,mysql客户端)访问虚拟机。

这里相当于一个映射:将本地主机的一个端口映射到虚拟机中对应系统的端口 
这里写图片描述

二. 设置CentOS的静态IP

查看相关信息ifconfig

这里写图片描述

涉及到三个文件,分别在

/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eno16777736
#(注意:该文件名字我们可能不一样,有的是ifcfg-eth0,其文件名见上一步查看相关信息)
/etc/resolv.conf

1. 首先编辑network

# Created by anaconda
NETWORKING=yes
GATEWAY=192.168.140.2

其中的GATEWAY即是上一步的网关地址

2. 编辑ifcfg-eno16777736文件

TYPE="Ethernet"
NAME=“eno16777736”
BOOTPROTO=static
NM_CONTROLLED="yes"
IPV6INIT="no"
ONBOOT="yes"
IPADDR=192.168.140.140(注:你自己随意设置的IP地址:192.168.140.XXX)
PREFIX0=32
NETMASK=255.255.255.0
DNS1=192.168.140.2(即为你的网关IP)

按字母i进入编辑模式,对相关信息进行编辑,把获取IP的方式从DHCP改为static,主要对以下几个部分进行修改:BOOTPROTO,IPADDR,BROADCAST,NETMAST,GATEWAY,DNS,NM_CONTROLLED,ONBOOT  备注:  BOOTPROTO为获取IP的方式  IPADDR设置为自己想要的IP地址,主要设置最后一位,不要与宿主主机冲突  BROADCAST为主播地址,最后一位是255  NETMASK为子网掩码  GATEWAY为默认网关,与虚拟网络编辑器的NAT设置一致  DNS必须进行设置,不然域名无法进行解析,只能通过IP进行访问

复制代码
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.159.159
BROADCAST=192.168.159.255
NETMASK=255.255.255.0
GATEWAY=192.168.159.2
DNS1=8.8.8.8
DNS2=8.8.4.4
NM_CONTROLLED="no"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="aefa69d7-c33b-43b3-9c03-aa51b5d31172"
DEVICE="ens33"
ONBOOT="yes"

注意:这里DNS1是必须要设置的否则无法进行域名解析。

3. 编辑/etc/resolv.conf

    nameserver 192.168.140.2

以后虚拟机的IP就一直是192.168.140.140

重启网络:

sudo restart network.service

 

关闭防火墙

systemctl stop firewalld.service 

禁止防火墙开机启动

systemctl disable firewalld.service 

查看防火墙状态,not running 即为防火墙关闭状态

firewall-cmd --state

重启防火墙

sudo restart firewalld.service

 

 

关闭SELinux 

   查看SELinux状态,显示为disabled即为关闭状态

/usr/sbin/sestatus -v

或者输入以下命令也可查看SELinux状态

getenforce

永久关闭SELinux

vim  /etc/selinux/config

将SELINUX=enforcing 更改为SELINUX=disabled

需要重启才 生效

猜你喜欢

转载自blog.csdn.net/u013262689/article/details/80585234