Навколишнє середовище
Моя настройка локальної мережі є досить базовою:
- Маршрутизатор, підключений до модему провайдера та Інтернету
- Моя розробка ПК безпосередньо підключена до роутера
Маршрутизатор забезпечує DHCP, але не запускає власний DNS-сервер. Насправді в моїй локальній мережі ніде не розміщений сервер DNS (типова настройка домашньої мережі). Маршрутизатор налаштований для передачі DNS-серверів ISP як частини інформації про оренду DHCP.
Я встановив на своєму розробниковому ПК VirtualBox і встановив на ньому Debian Squeeze (6.0.4). Режим мережі VirtualBox - Bridged Adapter
це імітувати окремий сервер у моїй локальній мережі. Бути сервером VirtualBox замість фізичного сервера насправді не важливо, але я згадую його для повноти.
Проблема
Кожен раз, коли мережева операція виконує зворотний пошук DNS локальної мережі ip перед виконанням, сервер має великі затримки. Деякі приклади повільних мережевих операцій:
- Підключення SSH до сервера з мого розробника
- Підключення до порту адміністратора сервера Glassfish
netstat -l
(netstat -nl
дуже швидко)Starting MTA: exim4
на завантаження потрібно тривати довгий час
Деякі з них мають обхідні шляхи, такі як додавання Ip мого ПК на /etc/hosts
додаток або додавання специфічної для команди опції, щоб уникнути зворотного пошуку DNS. Очевидно, що використання /etc/hosts
лише йде так далеко, тому що це суперечить DHCP.
Однак я не можу не думати, що чогось мені не вистачає. Мені дійсно потрібно налаштувати DNS-сервер десь у моїй локальній мережі? Це здається величезним і марним зусиллям для моїх потреб, і я не можу повірити, що в такому середовищі DHCP, як у мене, немає іншого варіанту.
Я багато шукав у мережі для цього, і, можливо, у мене немає правильних пошукових термінів, але я не можу знайти рішення ...
оновлення 1 після відповіді BillThor
Використання хоста (копання дає ті самі результати):
# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa. IN PTR
;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143 IN PTR stackoverflow.com.
Received 74 bytes from 192.168.1.1#53 in 15 ms
real 0m0.020s
user 0m0.008s
sys 0m0.000s
# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached
real 0m10.004s
user 0m0.004s
sys 0m0.000s
Мій /etc/resolv.conf (був автоматично створений під час встановлення)
nameserver 192.168.1.1
Як хостинг, так і копання повертаються дуже швидко для публічного ip, але знадобиться 10 секунд на час очікування для ip локальної мережі. Я думаю, 10s - це моє поточне значення очікування.
оновлення 2
З dev-pc
файлом в / etc / hosts:
$ time getent hosts 192.168.1.50
192.168.1.50 dev-pc
real 0m0.001s
user 0m0.000s
sys 0m0.000s
Без dev-pc
файлу / etc / hosts:
$ time getent hosts 192.168.1.50
real 0m10.012s
user 0m0.004s
sys 0m0.000s
Це виглядає все більше і більше, як мені доведеться знайти параметри програм або параметри програми для кожного з них, які намагаються зробити зворотні пошуки DNS! Жодна з машин (віртуальна чи ні) не може діяти як DNS-сервер у моїй локальній мережі, оскільки вони не завжди працюють. На жаль, мікропрограмне забезпечення маршрутизатора не включає DNS-сервер.