Я хочу установить запись DNS, которую будет использовать мой браузер, но у меня нет доступа с правами root, поэтому я не могу изменить /etc/hosts
. Мне нужно сделать это для тестирования vhosts с apache, DNS которого еще не настроен. У меня есть доступ к Firefox и Chrome, так что, если есть плагин, который может облегчить это; или другие варианты полезны.
обновление: альтернативой переопределению днс, вероятно, является изменение заголовков HTTP, если правильные отправляются в apache, правильное содержимое должно быть возвращено.
dns
not-root-user
http
xenoterracide
источник
источник
Ответы:
Я искал способ запустить программу с измененным разрешением DNS для целей тестирования. Для меня решение было использовать
HOSTALIASES
переменную окружения:См
hostname(7)
.(Примечание: в примере
HOSTALIASES
переменная среды влияет только наwget
процесс. Конечно, вы можетеexport HOSTALIASES
включить его для всех подпроцессов текущей оболочки.)источник
export
в большинстве случаев:export HOSTALIASES=~/.hosts
.Вы можете написать обертку вокруг функции libc, чтобы разрешить имена хостов и искать их в файле, отличном от / etc / hosts. Затем запустите любое приложение, с которым вы хотите использовать файл hosts.
источник
/etc/nsswitch.conf
в~/.nsswitch.conf
, и создавала~/.nsswitch.conf
запрос к вашим базам данных DNS.Я думаю, что лучший способ сделать это - настроить прокси-сервер SOCKS5 и сказать Firefox отправлять запросы DNS через прокси-сервер SOCKS5 (network.proxy.socks_remote_dns). Вы можете довольно легко настроить прокси socks5 с openssh (опция -D) и иметь удаленный хост, работающий с пользовательским / etc / hosts, или что-то вроде DNSMasq для более сложных настроек DNS. Однако, по сути, это проталкивает конфигурацию настроек DNS в систему, в которую можно вносить общесистемные изменения.
источник
Проверьте следующий вопрос у суперпользователя:
https://superuser.com/questions/184643/override-dns-in-firefox
Если обсуждаемые варианты и ссылка SO не являются жизнеспособными решениями, проверьте:
https://superuser.com/questions/100239/hostname-override-in-firefox
Особенно проверьте:
https://addons.mozilla.org/en-US/firefox/addon/redirector/
Похоже, что это дополнение может помочь - но я зависит от его фактической реализации.
источник
Чтобы проверить vhosts, вы можете установить сервер Apache в качестве прокси в Firefox. Введенное вами имя будет перенаправлено в Apache. Это нарушит просмотр других сайтов, поэтому верните прокси, когда закончите.
источник
Мне нужно что-то подобное для ssh, scp и т. Д. Для сервера, который постоянно меняет IP каждые пару недель (а наша ИТ-служба имеет пару недель задержки при настройке хоста). Я решил это, используя специальную переменную для этого сервера:
export FOO='131.227.aaa.bbb
и тогда я могу сделать только,ssh bar@$FOO
и я меняю IP в~/.bashrc
любой момент, когда он меняется ...источник
Не повезло, вы не можете, кроме как написать свой собственный интернет-браузер.
Если вам нужно выполнить несколько тестов, вам нужен тестовый компьютер, будь то виртуальный или реальный компьютер, поэтому вам следует спросить своего администратора Unix (или хостинг-провайдера), как вы можете создать среду разработки.
Вы также можете установить виртуальную машину на свой ПК, установить дистрибутив Linux, Apache и протестировать свои изменения (это не так сложно, как кажется)
Обновить
Чтобы лучше объяснить, каждое приложение написано с использованием стандартных библиотек, таким образом, никто не должен переписывать низкоуровневую библиотеку и функции, такие как gethostbyname ().
Эти функции обычно настроены на использование файлов (/ etc / hosts) и DNS, поэтому, к сожалению, если вам нужно, чтобы ваш браузер разрешил имя, а не то, которое задано в / etc / hosts, у вас не слишком много альтернатив. ,
источник
open()
и любом другом низкоуровневом вызове .. до тех пор, пока включена динамическая загрузка кода (.so)