端口转发原理和实现

2017-03-19 11:33:49 +08:00
 GjriFeu

一台主机上的 22 端口被禁用了,我登上了,如何改变 ssh 的端口 用端口转发实现,看了下不明白原理和实现

4043 次点击
所在节点    Linux
15 条回复
GjriFeu
2017-03-19 11:35:19 +08:00
求解释通俗点
nanpuyue
2017-03-19 11:47:31 +08:00
vi /etc/ssh/sshd_config
GjriFeu
2017-03-19 11:51:07 +08:00
@nanpuyue 这样是可以,但是我想知道用端口转发怎么实现
izhaohui
2017-03-19 11:52:36 +08:00
装个 haproxy 把别的端口转发到 22 ,或者 iptables 把另一个端口 redirect 到本机 22 应该可行
seawing
2017-03-19 11:54:08 +08:00
如果 22 端口被禁用的意思是指只有本地才可以访问的话,可以用这条命令
ssh -NfL xxxxx: localhost:22 localhost , xxxxx 指你可以从外部访问的端口
这条命令的意思是 localhost 监听自己的 xxxxx 端口,将所有流量转发到本地的 22 端口,所以 ssh -p xxxxx 就可以了
nanpuyue
2017-03-19 11:54:24 +08:00
@GjriFeu
想用哪种端口转发, iptables 还是 ssh ?
要实现什么,能利用的条件有什么?
一般来说,要想获得详细的解答,首先要有详细的问题描述。
GjriFeu
2017-03-19 11:55:36 +08:00
@seawing 谢谢,我试试
artandlol
2017-03-19 11:56:31 +08:00
ssh 自带端口转发
GjriFeu
2017-03-19 11:57:05 +08:00
@nanpuyue 我指的是 ssh 端口转发,我有的条件是能登上主机还有 root 权限。
GjriFeu
2017-03-19 11:58:11 +08:00
GjriFeu
2017-03-19 11:59:43 +08:00
@seawing 外网登录时 22 端口被禁用了,但是登录跳板机能登录,这是应该是限制 ip 访问吧?
seawing
2017-03-19 12:08:05 +08:00
@GjriFeu 应该是防火墙过滤掉了,防火墙在哪一层要看你的网络环境,看你描述估计是跳板机和目标主机在同一个网络内部?所以他们之间不受防火墙影响。
nanpuyue
2017-03-19 12:14:13 +08:00
VYSE
2017-03-19 16:13:50 +08:00
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j REDIRECT --to-port 80
这能封就别要这台 VPS 了
mytsing520
2017-03-20 08:19:03 +08:00
iptables -t nat -A PREROUTING -p tcp --dport 本地端口号 -j DNAT --to-destination 远端主机地址:端口号
iptables -t nat -A POSTROUTING -p tcp -d 远端主机地址 --dport 端口号 -j SNAT --to-source 本地主机地址

iptables -t nat -A PREROUTING -p udp --dport 本地端口号 -j DNAT --to-destination 远端主机地址:端口号
iptables -t nat -A POSTROUTING -p udp -d 远端主机地址 --dport 端口号 -j SNAT --to-source 本地主机地址

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX