由于我的国家(伊朗)的一些问题,我在使用 API 时遇到了一些这样的连接问题:

https://api.another.website.com

我知道上述 URL,但它包含在 IonCube Loader 编码的 PHP 文件中,所以我无法更改该 URL。

我要这样做:

If I run curl https://api.another.website.com, it should change it to curl https://api.another.website.com:9999

我所做的是:

  1. 编辑/etc/hosts并添加此条目:(1.1.1.1 api.another.website.com在本例中,1.1.1.1是我的服务器IP)
  2. 我运行此 SSH 命令来打开本地转发:ssh -L 0.0.0.0:9999:api.another.website.com:443 root@remote_server

另一件事我不知道该怎么做iptables

我用谷歌搜索并发现我应该添加这样的内容iptables

iptables -I OUTPUT -o lo -t nat -p tcp --dport 443 -j DNAT --to 1.1.1.1:9999

但是我对上述代码存在一个问题(我想我理解的)就是它将所有 443 个请求重定向到 9999,但我不知道如何仅为一个 IP 或一个域转发端口 443。

你能帮我怎么做吗?


最佳答案
1

用于-d匹配目标 IP 地址。在本例中,1.1.1.1 是原始目标地址(通过 /etc/hosts 解析),因此使用-d 1.1.1.1

如果您不想影响到您的 VPS:443 的常规流量,请使用虚假地址(在您的 /etc/hosts 和-d选项中)。

1

  • 通过使用-d 1.1.1.1,你的意思是在iptables命令中?


    –