主题:如何给虚拟机配置静态ip供外部访问

 

用VMware安装的CentOS 7.X版本的镜像 ,安装完后各种命令都可使用,让人头痛!!!!今天的主题是不可连接外网的环境下一些列的部署 方案的步骤整理。

如何配置静态 IP供其它客户端连接(如 :Xshell、xftp等)

下图是无网、并且各种操作命令不可用的场景。

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_重启

 

 

一:查看linux版本信息:

cat /etc/redhat-release

cat /etc/*release*

操作截图如下

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_centos7虚拟机设置静态路由_02

二、各种命令无法找到问题

ifconfig”命令用于配置GNU/Linux系统的网络接口。它显示网络接口卡的详细信息,包括IP地址,MAC地址,以及网络接口卡状态之类。但是,该命令已经过时了,而且在最小化版本的RHEL 7以及它的克隆版本CentOS 7,Oracle Linux 7和Scientific Linux 7中也找不到该命令。

使用“ip addr”和“ip link”命令来查找网卡详情。要知道统计数据,可以使用“ip -s link”。

常用命令:

ip addr

ip link

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_网络接口_03

问题出现了,没有eth0、eth1 

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_静态ip_04

解决方案:但是有ens33 所以把ens33改成eth0

1. vi /etc/sysconfig/network-scripts/ifcfg-ens33 将NAME和DEVICE项修改为eth0

2. cd /etc/sysconfig/network-scripts/    mv ifcfg-ens33 ifcfg-eth0 (备份文件,所以建议使用复制命令cp
)

3.编辑/etc/default/grub并加入“net.ifnames=0 biosdevname=0 ”到GRUBCMDLINELINUX变量
  如:GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet"  【注意细节】

4.运行命令grub2-mkconfig -o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。

5. 输入reboot 重启后  ifconfig

解决方案的部分截图

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_网络接口_05

尤其注意 第二步 

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_重启_06

配置成功截图:已经变成了eth0

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_重启_07

 

三、配置静态ip

临时ip 输入

 

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_网络接口_08

静态ip 需要修改配置文件 输入 vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static  静态ip

ONBOOT=yes

IPADDR=192.168.26.112

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

Esc   :wq!

输入 service network restart 重启网络

eth0相关配置如下

DEVICE=eth0
TYPE=Ethernet
UUID=3cc5686a-a1f6-4c81-b5af-785f2fc203c6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.26.112
NETMASK=255.255.255.0
GATEWAY=192.168.26.254
HWADDR=00:0C:29:60:B5:0D    #特别特别要注意,此值域应该和机器的mac地址一样,参考异常问题1
DNS1=219.141.136.10
DNS2=202.106.0.20

重要!重要!如果无法连接此ip,则需要配置以下几个选项

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_静态ip_09

IPADDR=192.168.26.10
NETMASK=255.255.255.0
GATEWAY=192.168.26.254
BROADCAST=192.168.26.255

                    /****************** 启动后xshell即可成功连接到虚拟机器**************************/

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_网络接口_10

注意:某些步骤可能只是使用部分系统,如有不同,可百度其它方案,该方案仅供参考。

 

异常问题1   service network start命令启动时报错:

[root@localhost network-scripts]# service network start

Starting network (via systemctl):  Job for network.service failed. See 'systemctl status network.service' and 'journalctl -xn' for details.[FAILED][root@localhost network-scripts]# systemctl status network.servicenetwork.service - LSB: Bring up/down networking   Loaded: loaded (/etc/rc.d/init.d/network)   Active: failed (Result: exit-code) since Sat 2015-03-07 02:53:12 EST; 6s ago  Process: 8596 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain network[8596]: RTNETLINK answers: File ...Mar 07 02:53:12 localhost.localdomain systemd-sysctl[8913]: Overwriting earli...Mar 07 02:53:12 localhost.localdomain systemd[1]: network.service: control pr...Mar 07 02:53:12 localhost.localdomain systemd[1]: Failed to start LSB: Bring ...Mar 07 02:53:12 localhost.localdomain systemd[1]: Unit network.service entere...Hint: Some lines were ellipsized, use -l to show in full.

然后网上搜是因为没加HWADDR....这个我确实给删了....

先看log里说哪个网卡没有UP起来:

添加:

HWADDR= 这个地址必须和机器的地址一致

centos7虚拟机设置静态路由 虚拟机配置静态ip命令_静态ip_11

然后重新启动network,就OK啦!

 

直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动