Project

General

Profile

Actions

Bug #6870

closed

Load balancer DNS (relayd) can't handle fragmented udp, breaks DNSSEC

Added by Harry Coin over 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Load Balancer
Target version:
-
Start date:
10/21/2016
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
All
Affected Architecture:
All

Description

The built-in load balancer (relayd) has a protocol 'dns' that manages UDP dns queries. The purpose is to load balance name server requests to server pools -- and keep pfsense out of the internet facing resolving job.

When the UDP packet response size was less than the MTU, this worked well. However, bind / named DNSSEC replies typically have a UDP packet size that exceeds the MTU for one packet, so they are fragemented.

relayd does not know how to handle fragmented UDP packets, breaking the entire DNSSEC system only for DNS queries that have a response larger than 1472 bytes or so.

Yes, it did take too long to isolate this problem. I verified proper operation by natting DNS directly to a named machine, dnssec worked perfectly. Same dig dns +dnssec query through the load balancer failed. Same dig dns query without the dnssec worked normally through the load balancer.

Actions

Also available in: Atom PDF