将外部端口重定向到本地ip

将外部端口重定向到本地ip

我有一台 ubuntu 13.10 服务器和一个注册域名。我的 192.168.24.1 机器上有一个 Web 服务器,我的 192.168.24.2 上有一个 ftp 服务器。

使用 iptables 我想要:

1) 写作的人:http://我的域名.com重定向至 192.168.24.1

2)想要使用我的 ftp(filezilla 或输入 mydomainname 的程序)的人被重定向到 192.168.24.2

提前感谢您的回答!

答案1

我无法给出确切的答案,因为我不知道你的拓扑结构

情况1。

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |     _____________
------------------       |_____|           |  __________
                         |     | ip_tables |  |        |
                         |     | PC        |--| router |--- internet
__________________       |     |           |  |        |
|                |       |     -------------  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

在这个拓扑中你需要 iptables

案例 2。

__________________
|                |
|   PC           |-------|
|  192.168.24.1  |       |
------------------       |  __________
                         |  |        |
                         |--| router |
__________________       |  |        |
|                |       |  ----------
|   PC           |-------|
| 192.168.24.2   |
------------------

您不需要 iptables。您需要在路由器上进行端口转发。

  • 端口 80 用于 http -> 24.1
  • 端口 443 用于 https -> 24.1
  • 端口 20 是 FTP 数据传输 -> 24.2
  • 端口 21 FTP 控制 -> 24.2

此外,您必须在路由器的 WAN 接口上固定公共 IP 地址。然后您必须创建 DNS 记录。DNS 将逻辑名称(又名 mydomainname.com)解析为 IP 地址,并将 IP 地址解析为逻辑名称。

192.168.xx 范围是私有 IP 地址范围,我无法通过互联网成为路由器。

交通流量为:

  • 我在电脑的浏览器中输入 mydomainname.com
  • PC 请求 DNS 将 mydomainname.com 解析为 ip
  • 当 PC 有 IP 时,向给定 IP 发送 http/https 请求
  • Web 服务器应答并将流量发送给请求者

IP地址规划:

PC [private ip}-> router with private address on LAN and public ip on WAN. Router do NAT->internet [only public ip address

编辑2

如果你的服务器通过 24.1 为 24.2 进行 nat,则休闲将起作用

首先要启用 IP 转发。可以使用

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

或者

sysctl net.ipv4.ip_forward=1

然后,我们将添加一条规则,告诉将端口 21 上的流量转发到端口 21 上的 IP 192.168.24.2

iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.24.2:21

然后,我们将添加一条规则,告诉将端口 20 上的流量转发到端口 20 上的 IP 192.168.24.2

iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.24.2:20

最后,我们要求 IPtables 进行伪装

iptables -t nat -A POSTROUTING -j MASQUERADE

相关内容