可以使用iptables或者nginx进行连接搭建。
Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上。但是如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一个应用层端口转发程序Rinetd。Rinetd短小、高效,配置起来比iptables也简单很多。
如果你要配http、https转发,要配ssl证书,那nginx大概是最合适的了。不过要注意nginx本身有一些限制,比方说一次上传的数据大小。之前我没注意这点,在主站配了又配,最后发现中转的服务器没配置,秀逗了。另外新版的nginx不仅可以转发http,也支持tcp流转发了。
数据中转站中安装有数据中转应用服务器,由计划任务或者其他唤醒程序启动。
运行时注意的三步如下:
1、开启源服务器网络连接,连接源服务器,约定下次通讯的方式(可选),获取数据。
2、关闭与源服务器网络的连接,开启目标服务器网络连接,向目标服务器写入数据。
3、关闭与目标服务器网络的连接,进入缄默模式,等待下一次被唤醒。
使用下面的 route 命令可以查看 Linux 内核路由表。route 命令的输出项说明
输出项 说明
Destination目标网段或者主机
Gateway网关地址,”*” 表示目标是本主机所属的网络,不需要路由
Genmask网络掩码
Flags标记。一些可能的标记如下:
U — 路由是活动的
H — 目标是一个主机
G — 路由指向网关
R — 恢复动态路由产生的表项
D — 由路由的后台程序动态地安装
M — 由路由的后台程序修改
! — 拒绝路由
Metric路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
Ref路由项引用次数(linux 内核中没有使用)
Use此路由项被路由软件查找的次数
Iface该路由表项对应的输出接口
设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
其中:
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
dev : 为路由指定的网络接口
Linux系统的route命令用于显示和 *** 作IP路由表(show / manipulate the IP routing table)。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。
实现的方法有很多,我给你说个ssh隧道的方法吧
在A服务器上使用如下ssh隧道命令
ssh -Nf -L 60022:C的IP:C的ssh端口 登陆B的用户@B的IP >/dev/null 2>&1这样你scp 自已的60022端口,就是scp C的ssh端口了
scp -Brp -P 60022 你本地的文件 登陆C的用户@127.0.0.1:要cp到C的目录欢迎分享,转载请注明来源:内存溢出
评论列表(0条)