如果您删除了Centos 6 Cpanel服务器上的上的VM,然后使用相同的磁盘创建VM,则通常会为您分配一个新的本地IP地址,即使您保留了静态IP。这在Cpanel/WHM服务器上的NAT配置中没有正确更新。
这将阻止任何站点的工作,修复它的唯一方法是手动编辑http.conf文件。在Web主机管理器中,您可以修复面向IP的公开,但是没有地方编辑本地IP。有人知道如何在上编辑centos 6上的nat配置来修复本地IP,以便所有新创建的站点都在http.conf中拥有正确的本地IP吗?
下面是我的Centos 6服务器上当前nat配置的图片。

这是一张在Compute中显示我正确的本地IP的图片,您可以看到它与Cpanel的一个不匹配,这会导致http.conf文件生成具有错误IP的新虚拟主机。

发布于 2015-02-12 18:06:05
这是WHM/Cpanel中的一个配置问题,无法用接口中的任何配置设置来纠正。我联系了Cpanel支持部门,他们为我提供了一个命令行shell脚本,以便从root运行来解决这个问题。它运行得完美无缺:
# /scripts/build_cpnat这解决了这个问题,但是如果这不能解决您的问题,他们提供了额外的信息:
如果这不能解决您的问题,请查看我们的NAT文档,并确保您的服务器配置为受支持的1:1 NAT配置:http://documentation.cpanel.net/display/ALD/1%3A1+NAT。
发布于 2015-02-11 00:53:39
Compute引擎不允许您创建具有特定网络IP地址的实例。您必须使用路由和实例的can- IP转发能力的组合,将IP地址添加为静态网络IP地址,然后映射到所需的虚拟机实例。
例如,如果希望将10.1.1.1指定为虚拟机实例的网络IP地址,则可以创建静态路由,将流量从10.1.1.1发送到实例,即使由Compute Engine分配的实例的网络IP地址与所需的网络IP地址不匹配。
看看这个链接:https://cloud.google.com/compute/docs/instances-and-network#staticnetworkaddress
发布于 2017-04-29 13:42:38
我在AWS和CentOS 7托管最新的WHM/ cPanel时也有同样的问题。每次实例重新启动时,都会有一个新的私有/本地IP地址。我从/var/cpanel/中删除了cpnat。
所以我禁用了NAT,然后我创建了另一个eth,这样我就可以用静态IP (即Public IP )来配置它,然后对于拥有WHM主机名和域名的主帐户,我将它分配给本地IP地址,但是随着本地IP地址的不断变化,我创建了一个脚本,在每次启动后收集新的本地IP地址并自动分配给主帐户,如果没有新的本地IP地址,脚本就会在没有任何操作的情况下退出。
以下是已完成的步骤:
nano /etc/sysconfig/network-scripts/ifcfg-eth0:cp1在该文件中放置以下内容:(更改IPADDR & DNS)
DEVICE="eth0:cp1"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="13.54.100.XX"
NETMASK="255.255.255.0"
DNS1="172.31.0.2"
TYPE="Ethernet"
IPV6INIT="no"现在,我们希望这个接口在重新启动时保持不变,然后重新启动,所以请运行:
ifup eth0:cp1然后通过:服务网络重新启动重新启动网络服务
现在通过删除/var/cpanel中的cpnat文件禁用NAT模式
现在检查文件/var/cpanel/mainip,确保我们的外部ip在13.54.100.XX中,用nano创建以下文件:
nano /etc/init.d/fixdhcp将以下内容添加到文件中并保存:
#!/bin/bash
# # This script assigns available DHCP IP to ACCOUNT-NAME user on Reboot or Restart, please change ACCOUNT-NAME to the main WHM domain account name
# apache service will restart when done.
/scripts/rebuildippool
export mydhcp10=$(cat /etc/ipaddrpool)
echo $mydhcp10
# Exit if no available IPs
if [ "${mydhcp10}" == "" ]; then
echo "ipaddrpool is empty" && exit 1
else
echo "ipaddrpool is not empty"
fi
/usr/local/cpanel/bin/setsiteip -u ACCOUNT-NAME $mydhcp10
chmod +x /etc/rc.d/rc.local
echo finished now restarting services
/scripts/rebuildhttpdconf
/scripts/rebuildippool
/scripts/cleandns
/scripts/fixvaliases
/scripts/modify_accounts --theme=paper_lantern --all-users
/usr/local/cpanel/scripts/updateuserdomains
service httpd restart使该文件可执行:
chmod +x /etc/init.d/fixdhcp将其添加到rc.d
nano /etc/rc.local然后添加如下:
/etc/init.d/fixdhcp保存然后运行:
chmod +x /etc/rc.d/rc.localhttps://stackoverflow.com/questions/28416336
复制相似问题