IPTables 设置允许基于 REST 的 Web 服务

IPTables 设置允许基于 REST 的 Web 服务

我有一台仅运行 SSH 和 Apache 的 Linux 服务器。这基本上是我的 iptables 设置:

ACCEPT     udp  --  <isp dns server>     anywhere            udp spt:domain 
ACCEPT     udp  --  <isp dns server>     anywhere            udp spt:domain 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:https 
DROP       all  --  anywhere             anywhere         

当我的 Web 应用程序与 Google 和 Yahoo 等网站建立基于 REST 的连接时,就会出现我遇到的问题。他们的响应似乎来自高端口(如 54000 - 56000)。我为 iptables 实现了一个日志,当我尝试访问 Google 的 REST API 时,它会吐出一行这样的信息:

Mar 28 16:12:42 host kernel: Dropped by firewall: IN=eth0 OUT= MAC=00:16:3e:00:08:2c:00:26:0a:27:0d:00:08:00 SRC=74.125.226.146 DST=184.107.162.194 LEN=60 TOS=0x00 PREC=0x00 TTL=52 ID=39440 PROTO=TCP SPT=443 DPT=56461 WINDOW=5672 RES=0x00 ACK SYN URGP=0

当然,我的规则会阻止这些数据包进入。有人能推荐一种允许我接受这些数据包的方案吗?还是我遗漏了什么重要的东西?

谢谢,Aaron

答案1

如果我理解正确,你可能需要查看状态防火墙规则。一些信息 ->https://wiki.archlinux.org/index.php/Simple_Stateful_Firewall

相关内容