通过ssh隧道实现full nat

ssh隧道类似于vxlan隧道,ssh隧道是基于ssh协议来实现的。

node1操作

777端口是节点ssh的新增端口
如果22端口正常,那么不需要新增777端口。

vim /etc/ssh/sshd_config

# SELinux开放给ssh使用的端口增加777
semanage port -a -t ssh_port_t -p tcp 777
systemctl restart sshd

验证通过777端口正常ssh

# 启动MySQL容器并创建数据库test1
docker pull mysql:5.7
docker run -itd --name mysql --rm -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
# 容器IP 172.17.0.2
mysql -h172.17.0.2 -uroot -proot
create database test1;

node2操作

# 安装MySQL客户端
yum install -y mysql

# 本地开ssh隧道直接访问node1 db
# 开启后台ssh进程
ssh -CNfgL 3306:172.17.0.2:3306 root@192.168.1.8 -p 777

登录转发完成类似DNAT+SNAT即full nat转换。这里MySQL服务不在node3,只是完成了类似于DNAT转换。

mysql -h127.0.0.1 -P3306 -uroot -proot test1

设置超时时间

Client每隔60秒向Server发送心跳

-o ServerAliveInterval=60

 

posted on 2024-04-04 15:22  王景迁  阅读(6)  评论(0编辑  收藏  举报

导航