基于iptables的SNAT+DNAT 和docker的服务器发布

首先规划好整个项目的拓扑结构和IP地址

安装好两台服务器的系统,根据拓扑图配置好IP地址

service的IP配置

route的IP配置

根据官方文档安装docker容器( Install Docker Engine on CentOS

卸载任何此类旧版本以及关联的依赖项

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

安装软件包(提供实用程序)并设置存储库

yum install -y yum-utils
yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker Engine、containerd 和 Docker Compose

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动docker

service docker start

启动SNAT功能

编写一个shell脚本来启动SNAT功能

运行完脚本后输入命令

iptables -L -t nat -n

再客服机ping www.baidu.com要是能ping通,那就证明SNAT已经配置成功了。

以管理员的身份打开windows系统中的命令提示符,添加一条静态路由

route add 192.168.70.0/24 192.168.1.28

查看docker镜像

docker images

拉取nginx镜像

docker pull nginx

运行nginx

docker run --name sc-nginx-1 -d -p 80:80 nginx

查看80端口是否被docker监听

 netstat -anplut|grep 80

拉取MySQL的镜像文件

docker pull mysql:5.7.34

运行mysql

docker run -d --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='123456' -p 3307:3306 mysql:5.7.34

查看docker监听的端口

ss -anplut|grep docker

进入MYSQL里面

mysql -h 192.168.70.12 -P 3307 -uroot -p'123456'

查看docker容器的进程

docker ps

启动DNAT

再编写一个脚本来启动DNAT

运行完脚本后输入命令

iptables -L -t nat -n

用管理员的身份打开windows的命令提示符

输入命令 添加一条静态路由

 route add 192.168.70.0/24 192.168.1.28
route print

测试容器是否启动成功

在网页输入192.168.1.28

表示nginx已建成功

打开SQLyog,连接服务器的MYSQL

测试连接

出现这个界面说明测试成功

连接服务器MYSQL成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值