主题:如何给虚拟机配置静态ip供外部访问
用VMware安装的CentOS 7.X版本的镜像 ,安装完后各种命令都可使用,让人头痛!!!!今天的主题是不可连接外网的环境下一些列的部署 方案的步骤整理。
如何配置静态 IP供其它客户端连接(如 :Xshell、xftp等)
下图是无网、并且各种操作命令不可用的场景。
一:查看linux版本信息:
cat /etc/redhat-release
cat /etc/*release*
操作截图如下
二、各种命令无法找到问题
“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
问题出现了,没有eth0、eth1
解决方案:但是有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
解决方案的部分截图
尤其注意 第二步
配置成功截图:已经变成了eth0
三、配置静态ip
临时ip 输入
静态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,则需要配置以下几个选项
IPADDR=192.168.26.10
NETMASK=255.255.255.0
GATEWAY=192.168.26.254
BROADCAST=192.168.26.255
/****************** 启动后xshell即可成功连接到虚拟机器**************************/
注意:某些步骤可能只是使用部分系统,如有不同,可百度其它方案,该方案仅供参考。
异常问题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= 这个地址必须和机器的地址一致
然后重新启动network,就OK啦!
直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动