良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

iptables 做 ssh 登录的端口转发

使用 ssh 登录A机器(IP:1.1.1.1) 的 2333 端口,可以自动跳转到 B机器(IP:2.2.2.2)上,其中B机器的 ssh 登录端口就是默认的 22。

首先确保几个条件:

1. iptables 端口转发打开了, 改 /etc/sysctl.conf 这个文件,把 net.ipv4.ip_forward=1 这句话的注释取消

2. 两台机器可以联通

3. iptables 的 filter 下面的 FORWARD 默认策略要是 ACCEPT

然后在 A机器上运行下面两个命令:

iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 2333 -j DNAT --to-destination 2.2.2.2:22 
iptables -t nat -A POSTROUTING -d 2.2.2.2 -p tcp --dport 22 -j SNAT --to 1.1.1.1

数据首先进入 PREROUTING 链,更改数据包的目标地址,然后在 POSTROUTING 上再把源地址改成本机IP。关于数据包进入这几个链的顺序,搜一搜就可以知道了,值得了解一下。

注意,在A机器上配置时不要自作聪明把本机IP写成 127.0.0.1 或者 192.168.0.1,就写成实际的 IPv4 地址就行。


标签: linuxiptablesssh端口转发

作者:良玉 分类:Linux 浏览:1154 评论:0
留言列表
发表评论
来宾的头像