我在外部服务器上有一个 Web 服务,在同一台计算机上有一个 openvpn 服务器。我需要打开端口 80,但仅限 openvpn 客户端。换句话说,如果我执行 nmap -p 80 server_ip 我希望看到 filtred。但与此同时,如果我连接到 VPN 并执行相同的命令,我预计会看到打开的情况。
我是一名程序员,对网络管理不太了解。如果可以在 中制定一些规则iptables
,请告诉我如何写。如果很难的话,至少告诉我该往哪个方向看。我在互联网上找不到类似的案例并解释如何做到这一点。
这次,我尝试在 CentOs 7 上使用 来执行此操作firewalld
,可以使用 来完成firewalld
,还是需要删除它,然后通过 iptables 来完成?
答案1
简单一点
最简单的规则是阻止端口 80(以及所有未使用的端口)。然后在其前面添加一条规则,允许本地主机127.0.0.0/8连接80端口。
这将切断大部分可能性,至少只有本机上的进程可以连接。
您可以使用图形防火墙工具来完成此操作gufw
。gufw
可能是最简单的文件墙工具,它不能做所有事情,但是很简单,并且可以做很多事情。
较难的一点
接下来,您需要停止连接机器上的进程。但允许来自 VPN 用户的进程进行连接,然后作为单独的 VPN 用户运行 VPN。 (您只能按用户控制传出连接。
我不知道有什么简单的工具可以做到这一点(我不是防火墙专家),但你可以通过我的编辑来完成iptables
。
必须删除吗firewalld
?
我没用过filewalld
,不过我用过gufw
,而且直接编辑了iptable
。我没有看到任何冲突。