如何在AWS搭建服务器控制服务器

总体分为3个大步骤

1:注册域名

推荐的域名申请网站
*https://www.namecheap.com/

域名便宜.com 最低只需要0.88刀一年

*https://my.freenom.com

有一些域名后缀是免费的 .ga .cf 等等

需要注册的是任何域名启用以后切记要去邮箱点击确认邮件来激活 国外购买的域名是需要在ICANN备案

2:host DNS

不知道该如果从专业的角度说这个事情,作用就是让域名和IP进行一个映射从而让我们在访问服务器的时候不需要使用IP
推荐网站:https://dns.he.net

3:aws lightail 开实例

所有的操作都只可以在aws的服务器上进行

https://lightsail.aws.amazon.com

基本原理

因为只知道AWS上面服务器控制机的API 而且AWS lightsail 重启变更换IP

完美科学上网 需要至少建立3台实例才可以完美的运行

一台用作为服务器控制机 一台用为转发机 一台机搭建科学上网服务

1:服务器控制机的作用是 每天定时重启 作用是重启更换IP
2:转发机 作用是我们只连接转发机 然后转发机和目标机(搭载了科学上网服务)在墙外进行数据传输
3: 科学上网机 顾名思义 就是搭建了科学上网的服务器

TIP: 至于为什么需要一台转发机?作用是中转!是因为我们在国内只连接转发机而目的机始终在国外,但因为我们从国内连接转发机,所以转发机会有被BAN的风险。
BAN一般都是在固定时间进行 比如每天上午10点,但BAN的是服务器IP,我们只要更换了IP以后就可以继续使用了。所以就需要控制机来控制转发机每天定时更换IP,这样就起到了永远不会被BAN的可能。BAN不BAN无所谓 反正我们每天都在换IP

科学上网机器的搭建

系统debian8

这里可以使用秋水或者逗比的一键脚本

秋水(多版本合一)

wget --no-check-certificate -O s-all.sh https://raw.githubusercontent.com/teddysun/s_install/master/s-all.sh
chmod +x s-all.sh
./s-all.sh 2>&1 | tee s-all.log

逗比(多用户)

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssrmu.sh && chmod +x ssrmu.sh && bash ssrmu.sh

服务器控制机的搭建

推荐使用 Ubuntu 系统

1:首先要去 aws-IAM-访问秘钥里面创建一个秘钥

https://lightsail.aws.amazon.com/ls/webapp/account/advanced

会获得一个 AWSAccessKeyId 和 AWSSecretKey

2:然后运行如下代码安装组件

apt update -y
apt install python-pip -y
pip install awscli --upgrade

或者

yum update -y
yum install python-pip -y
pip install awscli --upgrade

然后获得脚本

apt install wget -y
wget https://blog.wxlost.com/lightsailm/aws.bash && chmod +x aws.bash && ./aws.bash

配置其主要是让其使用到 AWSAccessKeyId 和 AWSSecretKey 如果提示让你填入 并且填入就基本OK
服务器控制机配置到这里先结束 接下来搭建 科学上网机器

配置转发机

系统debian8

使用逗比的一键脚本

原地址:https://doub.io/wlzy-20/

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/iptables-pf.sh && chmod +x iptables-pf.sh && bash iptables-pf.sh

两台服务器如果跨大区(比如一个日本一个新加坡)则目标服务器需要填外网IP 如果不跨大区 可使用内外IP 转发机选择内网IP

继续配置 管理机

让我们的转发机 每天定是重启 从而起到自动更换IP的目的

在root@xxx

输入nano renewip.sh

以下代码以个人实际实例名称为准

我的这代码的意思是 关闭名字为Debian-512MB-Tokyo3-TO-Tokyo1的服务器30秒后 再开启

aws lightsail stop-instance --instance-name Debian-512MB-Tokyo3-TO-Tokyo1
sleep 30
aws lightsail start-instance --instance-name Debian-512MB-Tokyo3-TO-Tokyo1

如果有多台的话 请最好中间也加上 sleep 30 以免出现未重启

贴上以上代码 然后 ctrl + x 再按Y 保存 然后回车退出

然后再输入

crontab -e

选 /bin/nano 复制一下代码到最后

0 3 * * * /root/renewip.sh

这行代码的意思是每天凌晨3点重启服务

把以上代码加在最后一行前方注意前面不能有#

然后改一下时区

timedatectl set-timezone Asia/Hong_Kong

最后可以马上进行一下测试运行一下

bash /root/renewip.sh

看实例是否停止 30秒后 再开启
如果是 就成功了
至此3台机器就配置完毕了

hostDNS 域名映射

域名映射的作用是让我们在客户端上服务器IP填写域名 而服务器每次重启以后IP会变动 从而我们不需要每次在服务器重启以后都需要在客户端内更改IP地址

先去域名网站 在购买的域名下更改dns (一般选择 custom dns或者namesevers) 一共会有多项

至少填入2项

ns1.he.net

ns2.he.net

ns3.he.net

ns4.he.net

ns5.he.net

然后打开 https://dns.he.net

选择add a new domain

填入购买的域名

然后点击 check delegaion

如果映射成功会没有那么多红字提醒

接下看操作看视频

继续配置 转发机 设置IP和域名的映射

首先安装curl

apt update && apt install curl

然后

curl -4 "xxxxxxxxxxxxxxxxxxxxxxx:[email protected]/nic/update?hostname=xxxxxxxxxxxxxxxxxxxxxxx"

xxxxx是你获得 ddns code yyyyy为你的域名

然后设置开启自动运行

crontab -e

选1 /bin/nano

最后一行添加

*/2 * * * * bash /root/update.sh

依旧前面不能有#

然後運行

nano /root/update.sh

curl -4 "http://yyyyyyyyyyyyyyyyyyy:[email protected]/nic/update?hostname=yyyyyyyyyyyyyyyyyyyyyy"

复制进去

贴上以后按 ctrl + x 再按Y 保存 然后回车退出

至此全部完成

你可能感兴趣的:(个人爱好,数据分享)