奇怪的问题? 不允许外网访问内网真实IP(双网口LINUX防火墙)

发布于 2022-07-18 21:50:49 字数 1518 浏览 11 评论 0

奇怪的问题? 不允许外网访问内网真实IP(双网口LINUX防火墙)

我用双网卡服务器做个简单的LINUX防火墙
外网口eth0:192.168.0.200/24 ; 内网口eth1:192.168.2.1/24
内网中有台WEB服务器192.168.2.10/24,需要被外网访问(虚拟IP为192.168.0.200)
内网192.168.2.0/24 都可以访问外网

做这个SNAT和DNAT的脚本很简单,以上需求也实现了。脚本如下
我在测试时发现个问题,我的PC连接在外网上,将PC网关设置防火墙外网口IP:192.168.0.200
结果奇怪的问题,我访问虚拟IP192.168.0.200的80端口正常,访问真实IP192.168.2.10的80端口也正常!
是不是当打开转发功能"echo "1" > /proc/sys/net/ipv4/ip_forward",从外网到内网路由已经通了?
比较奇怪的是不加DNAT和forward规则,是不能访问真实IP的(因为默认FORWARD DROP)
怎样才能不允许外网访问真实IP呢? 以保护网络安全.

请教高手,问题出在哪里? 先谢谢了!

#!/bin/sh
echo "0" > /proc/sys/net/ipv4/ip_forward
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -F -t filter
iptables -X -t filter
iptables -Z -t filter
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -p ICMP -j ACCEPT
iptables -A FORWARD -p ICMP -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -p TCP -i eth0 -o eth1 -d 192.168.2.10 --dport 80 -m state --state NEW -j ACCEPT
iptables -t nat -A PREROUTING -p TCP -i eth0 -d 192.168.0.200 --dport 80 -j DNAT --to-destination 192.168.2.10
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.200
echo "1" > /proc/sys/net/ipv4/ip_forward

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文