我的任务是通过服务器重定向流量(端口范围)。以下是架构:
为什么 NAT 在这里不合适:如果 NAT 设置为“隧道服务器”,则所有用户将被分配相同的 IP。
我需要的:我希望当用户连接到“隧道服务器”时,他会自动重定向到“服务器”,并且该用户的 IP 没有更改。端点必须看到用户的真实IP。
编辑:
现在我有这个 NAT 规则:
$IPT -t nat -A PREROUTING -d $SRV_IP -p tcp --dport 25550:25580 -j DNAT --to-destination $MC_IP
$IPT -t nat -A POSTROUTING -p tcp --dport 25550:25580 -o eth0 -d $MC_IP -j SNAT --to-source $SRV_IP
$IPT -A FORWARD -d $MC_IP -p tcp --dport 25550:25580 -j ACCEPT
端点服务器在每个客户端上显示“隧道服务器”的 IP。
答案1
你有 10.* 内部地址,所以你必须如果您希望一般情况下可以从 Internet 访问它们,请使用 NAT。
在隧道服务器上创建 DNAT(目标 NAT 或端口转发)规则,将用户定向到服务器上的相应端口。
更新响应问题中显示输出的修正案iptables
。
您说您需要 SNAT 规则才能让用户连接到服务器 10.10.0.1。如果您在以隧道服务器 10.10.0.3 作为网关的服务器上添加默认路由,则可以删除该规则。这将定义源自互联网的数据包的返回路径。
route add -net default gw 10.10.0.3