我尝试使用以下 bash sctipt 将 ssh 流量从一台机器重定向到另一台机器:
IPTABLES="/usr/sbin/iptables"
$IPTABLES -F
$IPTABLES -X
$IPTABLES -F -t nat
$IPTABLES -X -t nat
$IPTABLES -F -t mangle
$IPTABLES -X -t mangle
$IPTABLES --policy INPUT ACCEPT
$IPTABLES --policy FORWARD ACCEPT
$IPTABLES --policy OUTPUT ACCEPT
$IPTABLES -t nat -A POSTROUTING --out-interface ppp0 -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to 192.168.2.2
echo 1 > /proc/sys/net/ipv4/ip_forward
Run Code Online (Sandbox Code Playgroud)
但是当我输入
ssh user@localhost
Run Code Online (Sandbox Code Playgroud)
或者
ssh user@192.168.2.1 # (address of local host)
Run Code Online (Sandbox Code Playgroud)
我收到错误“连接被拒绝”。
请帮我。
ssh user@localhost
行不通,至少在您使用的规则下不行。
该PREROUTING
链处理进入机器的数据包,而如果您连接到本地主机,则数据包是在本地生成的。
不过,好处是您的配置应该适用于外部连接。你从别的地方试过吗?
编辑:这是一个有用的 netfilter 流程图:-
归档时间: |
|
查看次数: |
262 次 |
最近记录: |