Ja i niewielka grupa programistów właśnie przeprowadziliśmy się do nowego biura. Chciałbym skonfigurować dnsmasq na naszym serwerze programistycznym, więc kiedy wdrażamy tam aplikacje internetowe, nie musimy edytować własnych plików hostów. Mamy router pod adresem 192.168.3.1, do którego nie mamy dostępu. Pomyślałem, że zainstaluję serwer DNS na polu programistycznym i wszyscy rejestrujemy jego adres IP jako dodatkowy serwer DNS. Niestety staram się, aby to zadziałało.
Nazwa serwera deweloperskiego to devbox, jego adres IP to 192.168.3.99 i działa na nim najnowszy serwer Ubuntu (Karmic)
Na moim komputerze działa Ubuntu Desktop (Karmic)
Co chciałbym osiągnąć
Załóżmy, że mam trzy witryny: witryna1, witryna2, witryna3, działające w oknie programowania. Chciałbym uzyskać do nich dostęp za pomocą adresów URL:
http://website1.devbox
http://website2.devbox
http://website3.devbox
Więc skonfigurowałem Apache na polu devel, zainstalowałem dnsmasq i umieściłem następujące wiersze w jego pliku hosts:
192.168.3.99 website1.devbox
192.168.3.99 website2.devbox
192.168.3.99 website3.devbox
i edytowałem mój własny plik resolv.conf, aby dołączyć pole rozwijania jako serwer nazw:
nameserver 192.168.3.99
Działa dobrze, mogę uzyskać dostęp do stron. Problem polega na tym, że nie skaluje się dobrze. Chciałbym, aby wszystkie domeny z rozszerzeniem .devbox były przekazywane do okna programistycznego i właśnie o to walczę.
Próbowałem umieścić
192.168.3.99 devbox
do pliku hosts i edycja linii w dnsmasq.conf:
# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
local=/devbox/
Ale nie mogę tego uruchomić. Jeśli wypróbuję dowolny adres URL, który nie jest jawnie obecny w pliku hosts pola programowania, wyszukiwanie dns kończy się niepowodzeniem.
Czy lokalna dyrektywa dotyczy czegoś innego? Czy patrzę na złe miejsce?
address=/.devbox/192.168.3.99
może być bardziej odpowiednia składnia dla twoich celów.