首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复Nat配置中的本地IP在上WHM/Cpanel上Centos 6上的配置

如何修复Nat配置中的本地IP在上WHM/Cpanel上Centos 6上的配置
EN

Stack Overflow用户
提问于 2015-02-09 18:04:37
回答 6查看 12.6K关注 0票数 2

如果您删除了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的新虚拟主机。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-02-12 18:06:05

这是WHM/Cpanel中的一个配置问题,无法用接口中的任何配置设置来纠正。我联系了Cpanel支持部门,他们为我提供了一个命令行shell脚本,以便从root运行来解决这个问题。它运行得完美无缺:

代码语言:javascript
复制
# /scripts/build_cpnat

这解决了这个问题,但是如果这不能解决您的问题,他们提供了额外的信息:

如果这不能解决您的问题,请查看我们的NAT文档,并确保您的服务器配置为受支持的1:1 NAT配置:http://documentation.cpanel.net/display/ALD/1%3A1+NAT

票数 7
EN

Stack Overflow用户

发布于 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

票数 1
EN

Stack Overflow用户

发布于 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地址,脚本就会在没有任何操作的情况下退出。

以下是已完成的步骤:

代码语言:javascript
复制
nano /etc/sysconfig/network-scripts/ifcfg-eth0:cp1

在该文件中放置以下内容:(更改IPADDR & DNS)

代码语言:javascript
复制
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"

现在,我们希望这个接口在重新启动时保持不变,然后重新启动,所以请运行:

代码语言:javascript
复制
ifup eth0:cp1

然后通过:服务网络重新启动重新启动网络服务

现在通过删除/var/cpanel中的cpnat文件禁用NAT模式

现在检查文件/var/cpanel/mainip,确保我们的外部ip在13.54.100.XX中,用nano创建以下文件:

代码语言:javascript
复制
nano /etc/init.d/fixdhcp

将以下内容添加到文件中并保存:

代码语言:javascript
复制
#!/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

使该文件可执行:

代码语言:javascript
复制
chmod +x /etc/init.d/fixdhcp

将其添加到rc.d

代码语言:javascript
复制
nano /etc/rc.local

然后添加如下:

代码语言:javascript
复制
/etc/init.d/fixdhcp

保存然后运行:

代码语言:javascript
复制
chmod +x /etc/rc.d/rc.local
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28416336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档