从经典网络到专有网络迁移的过程中,由于阿里云删掉了eth1
外网(公网)网卡,DirectAdmin在迁移后无法正常启动。根据我几个小时的研究,最终测试成功,分享配置方法。
核心思维:加入专有网络(安全组)以后,阿里云文档中说明是通过外网映射到内网的,ECS上不再存在外网网卡,所以原来ECS上三块网卡变成了两块。即:eth0
内网网卡,lo
回环网卡。那么实际所有的进出口,在ECS上走的都是内网网卡。DirectAdmin和apache都需要将IP地址,配置为这个内网IP,而不是外网IP。不得不说,DirectAdmin还是很完善的,提供了一整套局域网安装配置方法,不过里面还稍微有点坑。请务必按照我书写的流程,一步一步来,如果跳跃极有可能踩坑。
本文主要论述经典网络到专有网络迁移后的配置,若在VPC网络下新装DA,只需查看https://www.directadmin.com/lan.php,并参考本文配置即可。
规划端口
先把DA的防火墙停用。DA的csf端口停用。规划一下端口。
SSH端口:如32322
DirectAdmin端口:如30894
FTP主动端口,被动端口:如21
、35000/35999
SMTP端口:465
、587
(25端口为安全考虑不建议开)
其他TCP_IN端口。
配置到安全组规则中,如图:
注:更改ssh和DA端口属服务器安全基本配置习惯,若无此习惯请谨慎忽略。端口更改方式不在本文讨论范围内。
更改主机名和host
IP如果有变动,需要重新编辑/etc/hosts
,把老IP改成新IP。
如果是通过老镜像生成的新系统,需要更改主机名。否则会报servername you have set in DirectAdmin, xxx, do not match
https://help.directadmin.com/item.php?id=405
如果hostname存在任何问题,可以尝试:
https://help.directadmin.com/item.php?id=322
添加虚拟网卡和IP
原来的eth1
没了,apache和da都看不到外网ip了,这样不行。所以我们添加一块虚拟网卡,信息配置为外网IP。
https://help.directadmin.com/item.php?id=418
名字叫eth0:0
或者eth0:1
都无所谓,下面要告诉DA,网卡读这块虚拟的。并且添加一个新的lan_ip
参数,让DA通过内网网卡中转访问。
vi /usr/local/directadmin/conf/directadmin.conf
………… ethernet_dev=eth0:1 lan_ip=173.31.x.x(内网IP地址) …………
关联内外网IP
之前我们添加了一个虚拟网卡,但显然那网卡是不能用的。通过DA配置可以将虚拟网卡指向内网网卡,这恰恰是我们想要的。
管理员登陆->IP管理->添加内网IP地址。报错说已经绑定在eth0
上了,忽略,刷新后列表中正常显示。
不要把内网IP分派给任何客户。随后点击公网IP,进入设置。在“Select an IP to Link to”部分选择内网IP,不勾选DNS,勾选Apply to existing Domain,点LINK。
更新许可证和绑定IP
IP如果有更换,那必须现在DA更换绑定IP,然后更新许可证,或者换一个许可证。
https://help.directadmin.com/item.php?id=30
更换各配置的IP地址
我们所有的应用包括apache、proftpd这些,都还是老IP地址。通过DA的批处理,将原本的老IP更换为新外网IP。从4开始做。
https://help.directadmin.com/item.php?id=250
DA这个批处理很好,可以把所有已存在用户的httpd.conf
都改了。但是少改了一样,就是本身服务器的配置。
vi /etc/httpd/conf/extra/httpd-vhosts.conf
原来的是<VirtualHost 1.2.3.4:80>
1.2.3.4
应该是你外网IP吧,我们把内网IP加上,改成
<VirtualHost 1.2.3.4:80 5.6.7.8:80>
5.6.7.8
=内网IP
除了80端口以外,下面的443端口也要改
CDN访客真实IP模块mod_rpaf的更改
参考:https://www.aspirantzhang.com/learning/mod_rpaf.html
更多问题
检查一下防火墙,该打开就打开。
如果经过以上配置还有问题,可以参考:
https://www.directadmin.com/lan.php
或者搜索: