目录
公有云配置
购买云主机
购买公网ip
跳板机配置
ansible 管理主机
优化系统配置
代理 Yum 仓库
自定义 Yum 仓库
配置yum客户端
内网连接外网是有风险的,如果每个主机都连接外网,那么分享就会扩大,所以我们可以设置一台云主机绑定外网IP,然后将这台主机设置成跳板机。
管理员可以通过公网ip访问跳板机,然后再远程连接内网的机器。
这样可以有效的减少风险。
区域: 同一个区域中的云主机是可以互相连通的,不通区域云主机是不能使用内部网络互相通信的
选择离自己比较近的区域,可以减少网络延时卡顿
华为云yum仓库:https://repo.huaweicloud.com/rockylinux/
首先,购买2台2cpu,4G内存的云主机
主机名 | ip | 规格 |
ecs-proxy | 192.168.1.252 | 2cpu,4G |
ecs-host | 192.168.1.125 | 2cpu,4G |
进入华为云平台:共建智能世界云底座-华为云
打开控制台,进入网络分类,打开弹性公网ip
点击右上角购买公网ip
这里我们还是选择按需计费,然后贷款选择按流量计费,这个选项是用多少扣多少钱,如果需求量大的话,可以选择包月,这个都是根据自己的项目需求来的,带宽旋100,最高300。
最后点击右下角的立即购买就得到了一个公网ip
购买完毕,我们回到公网ip列表界面,选择我们刚刚买好的公网ip,点击绑定
选择我们购买好的跳板机ecs-proxy,点击确定
这样我们的跳板机就绑定了公网IP,跳板机就可以连接到公网,在网络上下载文件或者软件了
[root@ecs-proxy ~]# dnf install -y ansible-core
[root@ecs-proxy ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
... ...
[root@ecs-proxy ~]# chmod 0400 /root/.ssh/id_rsa
[root@ecs-proxy ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.1.125
下载ansible,生成远程ssh私钥,修改私钥权限,然后发送给host主机,这样远程ssh就不需要输入密码了
刚购买好的主机我们需要优化一下系统配置,基础的主机会预安装一些软件,这些软件使用不到,同时在主机中运行,也会给其他人机会,通过软件漏洞入侵主机,所以将不需要的软件停止,讲一些软件卸载。
再下载一些我们所需要的软件
[root@ecs-proxy ~]# systemctl stop atd kdump nis-domainname
[root@ecs-proxy ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs
[root@ecs-proxy ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
[root@ecs-proxy ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-proxy ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-proxy ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-proxy ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-proxy ~]# reboot
echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
作用是修改SSH服务器配置,使其监听所有可用的网络接口(因为0.0.0.0
代表本机上的所有IPv4地址)。这样设置后,SSH服务可以从任意网络接口接受连接请求,对于公开互联网上的服务来说是必要的配置,但也需要谨慎处理以确保安全。在进行此类修改后,通常需要重启SSH服务使更改生效。
sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
在/etc/sysconfig/chronyd文件中查找以OPTIONS开头的行,并将其内容替换为OPTIONS="-4u chrony",意味着在启动chronyd服务时,会使用指定的选项-4u和参数chrony。这通常用于指定服务的运行时选项,比如强制使用IPv4 (-4) 和以非守护进程模式运行 (-u),以及可能与chrony服务的特定配置或行为有关。
sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
在/etc/cloud/cloud.cfg文件中查找所有以manage_etc_hosts:开头的行,并将这些行全部转换为注释形式,即在每行的最前面添加#。这样做通常是为了临时禁用或忽略该配置项的影响,而不需要直接删除配置行。这对于调试或改变某些云初始化设置的行为非常有用。
最后重启主机
代理yum仓库
跳板机可以通过公网ip访问公网,内网主机,听过跳板机反向代理访问网络yun仓库,除此之外跳板机也设置一个云仓库,网络yum仓库不能下载的软件,可以放到跳板机的yum仓库中供内网机器下载。
这里我们使用nginx来设置反向代理,下载nginx,修改配置文件
[root@ecs-proxy ~]# dnf install -y nginx
[root@ecs-proxy ~]# vim /etc/nginx/default.d/dnf_proxy.conf
resolver 100.125.1.250 100.125.129.250 valid=5 ipv6=off;
location ~ ^/rockylinux/(.*)$ {
proxy_pass https://repo.huaweicloud.com/rockylinux/$1;
}
[root@ecs-proxy ~]# systemctl enable --now nginx
resolver: 指定了DNS解析器的设置。
100.125.1.250 100.125.1.259 250: 列出了DNS服务器的IP地址,这个范围是华为提供的
valid=5: 设置DNS解析结果的有效时间(生存时间TTL),单位通常是秒,在这里指解析结果在5秒内无需重新查询。
ipv6=off: 表示关闭IPv6解析,指示服务器仅使用IPv4地址进行DNS查询。
location ~ ^/rockylinux/(.*)$: 定义了一个位置块,用于匹配以/rockylinux/开头的URL路径,并通过正则表达式(.*)捕获该路径之后的所有内容(即$1)。波浪线~表示使用正则表达式进行匹配。
proxy_pass https://repo.huaweicloud.com/rockylinux/$1;: 当请求匹配上述位置块时,使用proxy_pass指令将请求转发(反向代理)到https://repo.huaweicloud.com/rockylinux/$1。这里$1是之前正则表达式捕获的路径部分,所以实际效果是将客户端对/rockylinux/...的请求转发到华为云的Rocky Linux仓库对应的URL下。
总结起来,这段配置设置了DNS解析规则,指定使用特定的DNS服务器且仅使用IPv4,并定义了一个反向代理规则,用于将所有以/rockylinux/开头的请求透明地代理到华为云Rocky Linux的镜像仓库,实现了资源访问的重定向和可能的加速、代理功能。
最后,设置nginx开机自启并立即启动
[root@ecs-proxy ~]# dnf install -y createrepo
[root@ecs-proxy ~]# mkdir -p /var/localrepo
[root@ecs-proxy ~]# createrepo --update /var/localrepo
[root@ecs-proxy ~]# ln -s /var/localrepo /usr/share/nginx/html/
下载createrepo软件,这个软甲可以创建yum软件清单
创建好文件夹localrepo作为跳板机的本地yum源文件夹,更新localrepo,目前还没有软件
最后将localrepo文件夹链接nginx的html文件夹,让内网主机可以通过http访问跳板机的yum源。
通过跳板机远程host机器
ssh 192.168.1.125
需要将多余的yum文件全部删除只保留Rocky-ABE的yum文件和epel
[root@ecs-host ~]# rm -f /etc/yum.repos.d/{epel,Rocky-[!ABE]}*
给现存的yum文件中baserurl的内容进行替换,替换host机器中华为云yum地址为跳板机的地址
[root@ecs-host ~]# sed -ri 's,https://repo.huaweicloud.com,http://192.168.1.252,' /etc/yum.repos.d/*.repo
新增一个yum文件,local.repo,用于下载host机器上的软件
[root@ecs-host ~]# vim /etc/yum.repos.d/local.repo
内容如下:
[local_repo]
name=Rocky Linux $releasever - Localrepo
baseurl=http://192.168.1.252/localrepo
enabled=1
gpgcheck=0
测试
[root@ecs-host ~]# dnf makecache
Rocky Linux 8 - AppStream 187 kB/s | 4.8 kB 00:00
Rocky Linux 8 - BaseOS 172 kB/s | 4.3 kB 00:00
Rocky Linux 8 - Extras 105 kB/s | 3.5 kB 00:00
Rocky Linux 8 - Localrepo 2.9 MB/s | 3.0 kB 00:00
Metadata cache created.
因为host机设置了yum源为跳板机,而跳板机可以连接到外网,为了安全起见,优化一下host系统设置,参开跳板机优化即可
[root@ecs-host ~]# systemctl stop atd kdump nis-domainname
[root@ecs-host ~]# dnf remove -y postfix at audit kexec-tools firewalld-* *-firmware unbound-libs
[root@ecs-host ~]# dnf install -y rsync tree bash-completion lrzsz tar iptables patch ipset time
[root@ecs-host ~]# echo 'ListenAddress 0.0.0.0' >>/etc/ssh/sshd_config
[root@ecs-host ~]# sed -ri 's,^(OPTIONS).*,\1="-4u chrony",' /etc/sysconfig/chronyd
[root@ecs-host ~]# sed 's,^manage_etc_hosts:.*,# &,' -i /etc/cloud/cloud.cfg
[root@ecs-host ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
[root@ecs-host ~]# dnf clean all
[root@ecs-host ~]# poweroff
最后关机,为后面制作模板做准备
版权说明:如非注明,本站文章均为 扬州驻场服务-网络设备调试-监控维修-南京泽同信息科技有限公司 原创,转载请注明出处和附带本文链接。
请在这里放置你的在线分享代码