Ubuntu 12.04 路由器防火墙 TTFB 延迟

Ubuntu 12.04 路由器防火墙 TTFB 延迟

由于多种原因,我将 Ubuntu Server 用作网络的路由器/防火墙。直到最近,我还在使用 10.04 取得了巨大成功。该操作系统使用 DNSMasq 提供 DNS 查找和 DHCP。由于 10.04 的支持已结束,我最近安装了 Ubuntu 12.04。

服务器提供 dns、路由和 dhcp。

我的配置非常简单。

/etc/网络/接口

auto eth0 eth1
iface eth0 inet dhcp #WAN connection
iface eth1 inet static #LAN connection
        address 192.168.16.1
        netmask 255.255.255.0
        network 192.168.16.0
        broadcast 192.168.16.255

iptables 命令(内核​​中启用路由)

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t raw -F
iptables -t raw -X
iptables -A FORWARD -i eth1 -s 192.168.16.0/255.255.255.0 -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.16.0/255.255.255.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -I INPUT 1 -i eth1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

相关(非默认)/etc/dnsmasq.conf 条目

listen-address=192.168.16.1
strict-order
interface=eth1
dhcp-range=192.168.16.100,192.168.16.199,72h

最后,/etc/resolvconf/resolv.conf.d/tail

nameserver 97.64.168.12
nameserver 8.8.8.8

除了 Ubuntu 12.04 中的 resolv.conf 更改外,这与我在 10.04 中的设置几乎相同。但是,我网络上的所有设备在浏览互联网时都会经历非常长的(2 秒以上)TTFB 延迟,除了页面的即时刷新。本质上,对页面的第一次请求有这种延迟,但一分钟内的后续请求会立即得到处理(包括使用 CTRL-F5 缓存忽略请求)。但是,等待一分钟左右,刷新页面或对任何外部资源的任何请求都会再次花费时间。

一开始,我以为这是 DNS 解析器的问题,并以此为由处理了这个问题。然而,浏览器开发工具清楚地表明,与 TTFB 时间相比,DNS 请求几乎是即时的。

这是对 google.com 的典型请求的图表: TTFB 浏览器图表

再次强调,此配置在 Ubuntu 10.04 上已经完美运行多年,但在 12.04 上,在相同和不同的硬件上尝试多次全新安装,这种行为是持续且可预测的。

我知道将 Ubuntu 用作防火墙/路由器有点奇怪,但它还非常适合其他用途。不过,目前这是一个干净的安装,仅为我的网络提供这些角色。

相关内容