shell脚本一键部署多种服务

通过一个实验案例来说明shell脚本一键部署多种服务的方法。

实验场景

初创公司是一家新成立的创业公司, 公司根据业务需求准备部署一个小型网络, 包含四
台服务器和若干客户机。考虑到后期需要在全国多个城市开分公司, 公司希望通过 Shell 的方式, 可以在不同的分支机构进行快速复制现有网络。

实验拓扑

在这里插入图片描述

实验要求

在管理员 PC 上编写 Shell 脚本, 实现一键部署。 实现以下项目需求:

  1. 分别部署防火墙、 DHCP 服务器、 DNS 服务器和 FTP 服务器
  2. 防火墙使用 Firewalld 服务, 并允许来自内网客户端( 172.16.1.0/24) 对服务器的访问。同时防火墙作为公司的边界设备, 要允许内网客户端( 172.16.1.0/24) 对互联网web服务器的访问。
  3. Firewalld 上配置 DHCP 中继服务, 使内网客户端( 172.16.1.0/24) 可以动态获取由 DHCP服务器分配的 IP 地址。
  4. 内网客户端( 172.16.1.0/24) 可以通过 DNS Server 解析 bdqn.com 中的域名。
  5. 网客户端( 192.168.1.0/24) 可以通过被动模式以匿名身份访问 FTP Server, 并且具备上
    传、 下载、 修改目录以及删除权限

实现步骤

配置SSH免密访问

在管理员PC上生成秘钥对

ssh-keygen 

在这里插入图片描述
为了可以将管理员PC上生成的公钥上传到其他网段的服务器,需要在网关服务器(firewalld)开启路由转发 功能和地址伪装

echo "1" > /proc/sys/net/ipv4/ip_forward  #路由转发
firewall-cmd --add-masquerade   #地址伪装

上传公钥至其他服务器
命令ssh-copy-id IP地址
网关服务器
DHCP服务器
DNS服务器
FTP服务器
验证免密连接
网关服务器
DHCP服务器
DNS服务器
FTP服务器

编写main.sh脚本,并完成调试(最终执行的脚本)

#!/bin/bash
Admin_IP=172.16.1.10
FW_IP=172.16.1.2
DHCP_Server_IP=192.168.1.10
DHCP_relay_IP=172.16.1.2
DNS_Server_IP=192.168.1.20
FTP_Server_IP=192.168.1.30

source ./firewall.sh
source ./yum.sh
source ./dhcp.sh
source ./dhcrelay.sh
source ./dns.sh
source ./ftp.sh

赋予可执行权限
chmod +x main.sh

编写firewall.sh脚本,并完成调试

#!/bin/bash
FW_cmd="ssh $FW_IP"
route=`$FW_cmd cat /pr
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值