目前有一台linux系统的转发机做ssh转发,遇到了一点特殊情况。
假设这台linux系统转发机为机器A,有一台机器B需要通过机器A,去访问机器C和机器D,而且必须用同一个端口9000端口。
如果我在机器A上设置两个网卡,网卡1和网卡2,可不可以做到B机器通过网卡1的9000端口访问机器C,通过网卡2的9000端口访问机器D。
原先是需要两台转发机的,但是目前条件有限,只有这么一台机器作为转发机,所以想来请教一下,这个方法能不能够实现。能够实现的话,需要怎么去实现?
假设这台linux系统转发机为机器A,有一台机器B需要通过机器A,去访问机器C和机器D,而且必须用同一个端口9000端口。
如果我在机器A上设置两个网卡,网卡1和网卡2,可不可以做到B机器通过网卡1的9000端口访问机器C,通过网卡2的9000端口访问机器D。
原先是需要两台转发机的,但是目前条件有限,只有这么一台机器作为转发机,所以想来请教一下,这个方法能不能够实现。能够实现的话,需要怎么去实现?
解决方案 »
- linux服务器,使用的是nginx,前端页面无法下载ttf格式字体
- shell脚本查询数据表出错脚本不往下运行,需要选择stop或者continue
- 父子进程通过sigaction实现数数问题
- 请教一下,在new的时候线程强制退出了,是什么原因。
- curl如何模拟网页表单form-data发送数据
- linux应用程序如何调用内核中的函数?
- 安mysql,报错没有这个包怎么解决,wget 下载了啊,
- 树莓派使用mjpg-streamer不显示图像
- ssh连接服务器显示出错
- 如何编译linux kernel时将设备树也一起编译
- 【新手】关于win10和ubuntu18.04双系统安装不成功的问题
- libevent 安装 openssl报错
ssh -TNfaq -L 158.120.30.25:9000:150.120.60.155:9000 [email protected]
就是目前需要这个9000端口,分别访问机器C和机器D,可不可以实现网卡1的9000端口,访问机器C,网卡2的9000端口访问机器D
stream {
server {
listen 158.120.30.25:9000;
proxy_pass ssh1;
} server {
listen 150.120.60.155:9000;
proxy_pass ssh2;
} upstream ssh1 {
server ssh1:22;
}
upstream ssh2 {
server ssh2:22;
}
}
```
脚本含义:通过访问52.82.x.x的4000端口来访问172.31.x.x的22端口
52.82.x.x为公有IP 172.31.x.x为私有IPiptables -t nat -A PREROUTING -p tcp -m tcp --dport 4000 -j DNAT --to-destination 172.31.x.x:22iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 22 -j SNAT --to-source 52.82.x.x清空net表
iptables -F -t nat查看已经配置的端口列表
iptables -t nat --list