Обсуждение статьи тематического каталога: Как подружить FreeBSD с DHCP Spoofing в ADSL модемах SpeedTouch (dhcp freebsd adsl)Ссылка на текст статьи: http://www.opennet.me/base/net/dhcp_spoofing.txt.html
Почему бы в случае использования собственного DNS-сервера не заморачиваться с перехватом, а просто и ненавязчиво прописать это сразу в /etc/dhclient.conf?interface "xl0" {
request routers;
supersede subnet-mask 255.255.255.255;
supersede domain-name-servers 127.0.0.1;
supersede domain-name "my.local.domain";
}
Потому что задача не в том, чтобы заставить dhclient-script(8) писать в /etc/resolv.conf какие-то фиксированные записи, а в том чтобы dhclient-script(8) не трогал этот файл вовсе.Не очень понятно, как Вы заморачиваетесь с перехватом. Ничего сложного в написании пустой функции make_resolv_conf() в /etc/dhclient-enter-hooks я не вижу.
Оказалось, что перехватывать make_resolv_conf() вообще не нужно. Возможно с более старой версией прошивки модем всегда возвращал адрес DNS-а или прежняя версия dhclient-а работала как-то иначе. Я уже послал исправление к статье.
А лучше не мучатся и сделать SIP-spoofing. Тогда на интерфейсе будет настоящий IP адрес, и можно уже на самой FreeBSD настраивать NAT, DHCP, DNS, whatever...
SIP Spoofing, по определению, работает только когда провайдер даёт статический IP адрес. DHCP Spoofing работает одинаково хорошо, как со статическим, так и с динамическим IP адресом. В остальном они равнозначны.
Хотел было писать вопросы автору, но помогли
man dhclient.conf и less /sbin/dhclient-script :)
Автору и коментеру спасибо.