如何将 WAN 上的 IP:端口映射到 LAN?

如何将 WAN 上的 IP:端口映射到 LAN?

我使用 Linux 机器作为路由器来路由 LAN192.168.1.1/24连接eth1至 WAN172.16.1.5/24eth0并且这里的IP分配给这个路由器。

现在我需要映射 HP Jetdirect 打印机172.16.1.21:9100到 LAN 作为192.168.1.1:9100对于局域网用户,如何写iptables规则?

答案1

基本上,你需要从 WAN 接口到 LAN 进行端口转发,这维基百科回答你的问题。

以 root 身份执行以下操作:

export LAN=eth0
export WAN=eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 9100 -i ${WAN} -j DNAT --to 192.168.1.1:9100

答案2

iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 9100 -i eth1 -j DNAT --to 172.16.1.21:9100

将通过 eth1 发往 192.168.1.1 端口 9100 的 TCP 流量重定向到 172.16.1.21 端口 9100。假设 eth1 为 192.168.1.1,流量通过该盒子后留在 eth0 上。

相关内容