微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iptable用于端口转发

我想redirect到我的Linux( 192.168.1.34 )端口22上的所有交通到另一个地址

所以我使用了下面的iptable命令

sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 192.168.1.239:22

该命令不会返回错误

但是,当我试图从PC( 192.168.1.133 )到我的Linux( 192.168.1.34 )打开SSH会话,SSH会话不会打开。 它看起来像ssh trafic没有redirect到( 192.168.1.239 )

apt-get在bash脚本中没有按预期工作

添加10分钟的cron作业到Ubuntu包

如何正确设置deb包的安装大小?

如何编译GTK2源代码

`未处理的exception:System.ArgumentNullException:值不能为空.`使用启动脚本运行`dotnet run`时出错

如果我直接从PC( 192.168.1.133 )打开ssh会话到( 192.168.1.239 ),那么会话打开

ld:(.eh_frame)中的错误; 没有.eh_frame_hdr表将被创build

python模块安装错误:命令'gcc'失败,退出状态为1

我怎样才能从bash脚本传递密码到aptitude来安装MysqL

在Linux上使用jetbrains appcode IDE

libstdc ++。so.6:版本'GLIBCXX_3.4.21'未find错误

首先,确保NAT主机已启用IP转发:

echo "1" > /proc/sys/net/ipv4/ip_forward

其次,所有主机都在同一个子网上,这意味着从192.168.1.239到客户端( 192.168.1.133 )的SSH流量不会通过192.168.1.34路由。

所以你可以:

同时使用DNAT和SNAT,或者

为您的主机使用不同的子网。

您需要添加两个规则:您的Linux IP( 192.168.1.34 )和另一台计算机的IP( 192.168.1.239 ):

### # prerouting sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 192.168.1.239:22 ### # postrouting sudo iptables -t nat -A POSTROUTING -p tcp --dport 22 -j MASQUERADE ### # forward sudo iptables -A FORWARD -s 192.168.1.34 -d 192.168.1.239 -j ACCEPT sudo iptables -A FORWARD -s 192.168.1.239 -d 192.168.1.34 -j ACCEPT

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐