Chcę ustawić rekord dns, którego będzie używać moja przeglądarka, ale nie mam dostępu do konta root, więc nie mogę go modyfikować /etc/hosts
. Muszę to zrobić w celu przetestowania vhostów z apache, których dns nie został jeszcze skonfigurowany. Mam dostęp do Firefoxa i Chrome, więc jeśli jest wtyczka, która może to ułatwić; lub inne opcje są pomocne.
aktualizacja: alternatywą dla zastąpienia dns jest prawdopodobnie modyfikacja nagłówków HTTP, jeśli poprawne zostaną wysłane do apache, właściwa treść powinna zostać zwrócona.
dns
not-root-user
http
ksenoterracid
źródło
źródło
Odpowiedzi:
Szukałem sposobu na uruchomienie programu ze zmodyfikowaną rozdzielczością DNS do celów testowych. Dla mnie rozwiązaniem było użycie
HOSTALIASES
zmiennej środowiskowej:Zobaczyć
hostname(7)
.(Uwaga dodatkowa: w tym przykładzie
HOSTALIASES
zmienna środowiskowa wpływa tylko nawget
proces. Oczywiście możesz włączyćexport HOSTALIASES
ją dla wszystkich podprocesów bieżącej powłoki).źródło
export
w większości przypadków:export HOSTALIASES=~/.hosts
.Możesz napisać opakowanie wokół funkcji libc, aby rozpoznać nazwy hostów i wyszukać je w innym pliku niż / etc / hosts. Następnie uruchom dowolną aplikację, w której chcesz użyć pliku hosts
źródło
/etc/nsswitch.conf
do~/.nsswitch.conf
, i sprawi,~/.nsswitch.conf
że zapyta twoje bazy danych DNS.Myślę, że najlepszym sposobem na to byłoby skonfigurowanie proxy SOCKS5 i powiadomienie firefox, aby wysyłał żądania DNS przez proxy SOCKS5 (network.proxy.socks_remote_dns). Możesz dość łatwo skonfigurować proxy socks5 z openssh (opcja -D) i mieć zdalny host działający z niestandardowym / etc / hosts lub czymś takim jak DNSMasq dla bardziej złożonych ustawień DNS. Skutecznie jednak przesuwa konfigurację ustawień DNS do systemu, w którym można wprowadzać zmiany w całym systemie.
źródło
Sprawdź następujące pytanie u administratora:
https://superuser.com/questions/184643/override-dns-in-firefox
Jeśli omówione opcje i link SO nie są wykonalnymi rozwiązaniami, sprawdź:
https://superuser.com/questions/100239/hostname-override-in-firefox
Szczególnie sprawdź:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Wygląda na to, że ten dodatek może pomóc - ale zależy to od jego faktycznej implementacji.
źródło
Aby przetestować vhosty, możesz ustawić serwer Apache jako serwer proxy w przeglądarce Firefox. Wpisane imię zostanie przesłane do Apache. Spowoduje to przerwanie przeglądania innych witryn, więc po zakończeniu ustaw serwer proxy ponownie.
źródło
Potrzebowałem czegoś podobnego do ssh, scp itp. Dla serwera, który zmienia IP co kilka tygodni (a nasz dział IT ma kilka tygodni opóźnienia w ustawianiu hosta). Rozwiązałem go za pomocą specjalnej zmiennej dla tego serwera:
export FOO='131.227.aaa.bbb
a potem mogę to zrobićssh bar@$FOO
i zmieniam adres IP za~/.bashrc
każdym razem, gdy się zmienia ...źródło
Pech nie, nie możesz, chyba że napiszesz własną przeglądarkę internetową.
Jeśli musisz wykonać kilka testów, potrzebujesz maszyny testowej, cokolwiek to jest maszyna wirtualna lub prawdziwa, więc musisz zapytać administratora Unixa (lub dostawcę hostingu), jak możesz stworzyć środowisko programistyczne.
Możesz także zainstalować maszynę wirtualną na komputerze, zainstalować dystrybucję Linuksa, Apache i przetestować zmiany (nie jest tak trudne, jak się wydaje)
Aktualizacja
Aby lepiej to wyjaśnić, każda aplikacja jest napisana przy użyciu standardowych bibliotek, w ten sposób nikt nie musi przepisywać biblioteki niskiego poziomu i funkcji takich jak gethostbyname ().
Te funkcje zwykle są ustawione na użycie pliku (/ etc / hosts) i DNS, więc nieszczęśliwie, jeśli potrzebujesz, aby twoja przeglądarka rozpoznała nazwę niż ta ustawiona w / etc / hosts, nie masz zbyt wielu alternatyw .
źródło
open()
i każdym innym wywołaniu niskopoziomowym .. dopóki dynamiczne ładowanie kodu jest włączone (.so)