Я читал об этом, насколько я понял, это возможно, но КАК ??,
Я знаю, что UDP намного лучше для разрешения DNS, но из-за множества проблем и ограничений мне нужно вместо этого использовать TCP, действительно ли это возможно и как я могу это сделать?
Я использую Centos 5.5 и хочу, чтобы ЛЮБОЙ DNS-запрос использовал TCP вместо udp.
Спасибо!
Насколько я могу судить, это невозможно. В OpenBSD вы можете добавить options tcp
к /etc/resolv.conf
чтобы получить то, что вы хотите, по крайней мере, предположительно, но такой возможности нет в Linux.
Вы также не можете настроить BIND для этого. Посмотрите эту ветку, где сам Пол Викси намекает, что в любом случае это было бы очень плохой идеей: http://groups.google.com/group/comp.protocols.dns.bind/browse_thread/thread/2272f6c39dcfe364
Скорее всего, вы используете сервер имен BIND, который по умолчанию работает с TCP и UDP. Все, что вам нужно сделать, это разрешить трафику через TCP-порт 53 достигать вашего сервера.
DNS использует UDP для разрешения запросов и TCP для передачи зон, ограничение данных UDP составляет 512 байт и выше, автоматически использует TCP.