使用 VPN 了解 OpenWRT LuCI 防火墙路由

信息安全 网络 防火墙 虚拟专用网 路由
2021-08-23 14:18:09

我对网络还是很陌生,我在掌握一些我需要为我想要的设置实施的正确防火墙规则的概念时遇到了一些麻烦。我正在使用 OpenWRT 和 OpenVPN 设置路由器,以通过我的 VPN 提供商 (proxy.sh) 路由传入流量。我在很大程度上已经根据这两个指南进行了调整:

blog.ipredator.se/howto/openwrt/configuring-openvpn-on-openwrt.html tokyobreeze.wordpress.com/2015/01/15/install-openvpn-in-a-router-with-4mb-flash/

我无法理解的一件事是 OpenWRT 的 LuCI 防火墙规则。基本思想是将来自 LAN 端口的所有流量转发到 VPN 接口,数据包伪装在 VPN 接口后面。如果 VPN 断开连接,则流量会被丢弃,并且不会泄露任何 IP。这些指南的不同之处在于,WAN(连接到网络)端口设置为其正常设置,输入被拒绝,并伪装(见下图)

防火墙配置 1

而另一个指南则关闭了 WAN 端口上的伪装,并允许输入(见下图)。

防火墙配置 2

两种配置都适合我,(并通过 ipleak.net 上的所有测试)但我想更好地了解发生了什么并确保我是安全的。所以有人可以解释/帮助我理解......

  1. 如果以及为什么一种方法比另一种更好或更安全?
  2. 这些规则/数据包路由实际上是如何工作的?我想我不太明白发生了什么。例如,我不明白为什么如果在 WAN 接口上关闭伪装,则需要在 WAN 接口上允许输入(我检查了这个配置,除非允许 WAN 输入,否则它不起作用)。作者给出的解释太简短了,对我来说没有意义。我对不允许输入的理解(这可能是错误的)是该接口只接受从传出请求返回的数据包,而不接受来自新连接的数据包(这里也是网络的新手)。因此,如果一个数据包通过 VPN 接口发送出去(关闭了 WAN 伪装),如果不允许 WAN 输入,为什么它的返回数据包会被 WAN 接口拒绝?不会像其他人一样做出回应吗?
1个回答

要回答问题 1,我认为这两种设置都不像您应该的那样安全。选项 1 在不需要时为 WAN 打开 masq。选项 2 在不需要时为 WAN 设置默认接受规则。

回答问题 2 并填写问题 1 的空白: OpenWRT 中的输入/输出规则设置是流量的默认行为。然后可以添加特定规则以进行偏离,例如,如果您将 WAN 设置为输入拒绝(这是默认设置),那么您需要进入并专门允许事情发生(例如伪装做默认情况下的 NAT,或接受规则以允许默认情况下不存在的传入 SSH,因此没有 SSH 可以从 WAN 到达路由器)。当您关闭 Masquerade 并将 WAN 配置保留为拒绝时,任何不符合允许规则的内容(甚至是 OpenVPN 流量)都无法进入。如果您随后进入防火墙流量规则并明确允许 OpenVPN 流量通过(默认为 1194 UDP),它将在拒绝模式下工作。这是一个更好的选择,因为让 WAN 处于接受状态意味着您的路由器上的任何服务(如 ssh 或 SMB)都将自行抵御传入的(可能是恶意的)流量。最好的做法是否认一切,然后戳穿你需要的东西。