配置
a 内⽹主机 不可以被⽹络访问
b 外⽹主机 可以被外⽹通过ip或者域名访问
使⽤b代理a主机,通过访问b主机管理a主机
访问b主机的特定端⼝,管理a主机的22端⼝
现在我们说b为服务端,提供代理服务
a主机是客户端,被代理了
服务端
开启端⼝
# 打开控制台⾯板端⼝
[root@hcss-ecs-e083 ~]# firewall-cmd --zone=public
--add-port=7500/tcp --permanent
# 打开frp服务端⼝
[root@hcss-ecs-e083 ~]# firewall-cmd --zone=public
--add-port=7000/tcp --permanent
# 打开⼀组客户端⼝
[root@hcss-ecs-e083 ~]# firewall-cmd --zone=public
--add-port=6000-6100/tcp --permanent
# 加载防⽕墙更新
[root@hcss-ecs-e083 ~]# firewall-cmd --reload
⽂件
[root@hcss-ecs-e083 ~]# ls -l
frp_0.33.0_linux_amd64/frps*
配置⽂件
[root@hcss-ecs-e083 ~]# vim
~/frp_0.33.0_linux_amd64/frps.ini
---------------------------------------------------
-----------
# 服务名称
[common]
# 服务端⼝
bind_port = 7000
# 控制台⾯板账号
dashboard_user=xxxxxx
# 控制台密码
dashboard_pwd=xxxxxxx
# 控制台端⼝
dashboard_port=7500
# 代理标识
token=xxxxxxxx
客户端
⽂件
[root@hcss-ecs-e083 ~]# ls -l
frp_0.33.0_linux_amd64/frpc*
配置⽂件
# 服务器名称
[common]
# 服务器ip
server_addr = x.x.x.x
# 服务器端⼝
server_port = 7000
# 代理标识
token=xxxxxxx
# 被代理的主机名称,不允许和其他重复
[被代理主机名称xxx]
# 代理服务类型
type = tcp
# 本地ip
local_ip = 127.0.0.1
# 本地被代理的端⼝
local_port = 22
# 选择代理后的端⼝
remote_port = ⾃选端⼝xxxxxxx60000
脚本
import pymysql
import pandas
class Python_Mysql_01(object):
def __init__(self):
print("======================")
def getConn(self):
conn=pymysql.connect(
host=input("sign host_ip|name:"),
user=input("sign database username:"),
password=input("sign database password:"),
database=input("sign database name:"),
port=int(input("sign port no "))
)
# print(conn)
return conn
def getRes(self,cursor,sql):
cursor.execute(sql)
# 获得查询的数据
data=cursor.fetchall()
# 表头
head=[item[0] for item in cursor.description]
# 组成pandas数据框 DataFrame
return pandas.DataFrame(data=data,columns=head)
if __name__=="__main__":
# 初始化Python_Mysql_01类,创建实例,pmp,之后所有的方法都可以在实例中调用
pmp=Python_Mysql_01()
# 获得conn
conn=pmp.getConn()
#获得游标
cursor=conn.cursor()
# print(cursor)
tablename=input("sign tablename")
df=pmp.getRes(cursor,"select * from "+tablename)
print(df)