在我的 linux VM 上,我有两个 IP
192.168.11.88 192.168.11.99
我希望 8889 端口上来自 192.168.11.99 的 ssh 流量将流量转发到端口 22 上的远程服务器 172.16.5.80
如何使用 IPTables 实现这一点
谢谢
正如 FelixJN 所建议的那样。我使用了 IPtables 的 socat 实用程序,以下配置有效,流量转发到远程服务器。
[Unit]
Description=forwards local port 192.168.56.70:8889 to 192.168.56.70:22
After=multi-user.target
[Service]
ExecStart=/usr/bin/socat -lf /var/log/socat-ssh.log TCP-LISTEN:8889,fork,bind=192.168.56.71 TCP:192.168.56.70:22
Restart=On-Failure
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
对于转发端口,
socat
可能是最简单的侦听端口
8889
,但仅用于本地 IP192.168.11.99
。将所有传入流量转发到172.16.5.80:22
可能的 systemd-service 文件 (
/etc/systemd/system/socat-ssh.service
)(检查
socat
您系统的路径)启用(用于启动时自动启动)并启动(用于首次初始化):