在Linux上托管文件切换器


10

似乎有大量实用程序来管理OSX上的hosts文件。我什至找不到适用于Linux的http://www.macupdate.com/app/mac/29949/gas-mask。我一直在vim中保持主机文件打开状态,因为出于测试目的,我每天都要切换几次映射。

我想要的是GUI或可以放在面板或小部件中的东西,或者可以拥有一组主机配置文件的东西,这样我可以对其进行预配置,然后单击以更改设置。是否存在这样的实用程序?我在Ubuntu 10.04中。

Answers:


16

主机切换器

一个用于管理和切换主机配置的小工具。已在Linux,Windows和Mac OS X上进行了测试。(由于Qt 4.7要求,在ubuntu <10.10上不起作用)

主机配置文件

主机配置文件是跨平台的主机文件管理工具。快速切换主机配置文件并自动刷新dns。当前,只有root用户可以启动该程序。

Dirk Krause的工具-Hostsadm

hostsadm程序读取MySQL数据库并创建多个配置,文档文件和许可证报告。Linux / Unix系统上与主机相关的信息保存在几个配置文件中(即/ etc / hosts,/ etc / ethers,/ etc / netgroup或相应的LDAP OU)。添加或修改主机需要在多个位置进行一致的修改。将有关主机的所有信息放在一个位置可以简化维护并确保一致性。

网络文档是从与配置文件相同的数据库中生成的,因此它与配置一致。由于许可证报告是使用同一数据库生成的,因此主机名与网络文档一致。

Firefox:SwitchHosts

SwitchHosts允许您快速轻松地管理和在多个主机文件之间切换。当然,DNS的刷新会立即执行。主机文件已审核,安全性是安全的。

不是您所要的,但也值得了解:

GNU名称服务开关

需要配置C库中的各种功能以在本地环境中正常工作。传统上,这是通过使用文件(例如,/ etc / passwd)来完成的,但是其他名称服务(例如,网络信息服务(NIS)和域名服务(DNS))变得很流行,并且通常被入侵到C库中具有固定的搜索顺序(请参见frobnicate)。

GNU C库包含一个更干净的解决方案。它是根据Sun Microsystems在Solaris 2的C库中使用的方法设计的。GNU C库遵循其名称,并将其称为“名称服务开关(NSS)”。

尽管接口可能与Sun的版本相似,但是没有通用的代码。我们从未见过Sun实现的任何源代码,因此内部接口不兼容。这也体现在我们使用的文件名中,我们将在后面看到。

避免使用FireFox的FoxyProxy插件编辑“主机”文件

FoxyProxy充当Firefox和Internet之间的代理服务器。您设置了一个“代理”,该代理实际上使您可以将流量定向到单个点(我使用一个将流量定向到“本地主机”的点),然后可以添加任意数量的与代理服务器关联的模式。设置完毕后,您只需在浏览器底部单击鼠标右键即可打开或关闭此代理。对我来说,设置非常简单,效果很好。

好的,这里有一个子程序:有时我确实需要在不同的浏览器中测试网站。在这种情况下,此浏览器加载项将不会被剪切。但是对于我的大部分日常Web开发人员需求来说,这都很棒!

Dnsmasq

Dnsmasq是一种轻型,易于配置的DNS转发器和DHCP服务器。它旨在为小型网络提供DNS,以及可选的DHCP。它可以服务不在全局DNS中的本地计算机的名称。DHCP服务器与DNS服务器集成在一起,并允许具有DHCP分配地址的计算机以在每个主机或中央配置文件中配置的名称出现在DNS中。Dnsmasq支持静态和动态DHCP租约以及BOOTP / TFTP / PXE,用于无盘计算机的网络启动。

Dnsmasq的目标是使用NAT的家庭网络,并通过调制解调器,电缆调制解调器或ADSL连接连接到Internet,但对于资源占用低且易于实现的任何小型网络(已知可使用多达1000个客户端)来说,它都是一个不错的选择。配置很重要。

受支持的平台包括Linux(带有glibc和uclibc),Android,* BSD,Solaris和Mac OSX。Dnsmasq至少包含在以下Linux发行版中:Gentoo,Debian,Slackware,Suse,Fedora,Smoothwall,IP-Cop,floppyfw ,Firebox,LEAF,Freesco,fli4l,CoyoteLinux,Endian防火墙和Clarkconnect。它也可以作为FreeBSD,OpenBSD和NetBSD端口使用,并用于Linksys无线路由器(dd-wrt,openwrt和备用固件)和m0n0wall项目。

Dnsmasq提供以下功能:

  • 防火墙后面的计算机的DNS配置很简单,并且不依赖于ISP的dns服务器的详细信息
  • 在调制解调器与互联网的链接断开时尝试进行DNS查找的客户端将立即超时。
  • Dnsmasq将为防火墙计算机上的/ etc / hosts文件提供名称:如果存在本地计算机的名称,则可以全部寻址,而不必在每台计算机上维护/ etc / hosts。
  • 集成的DHCP服务器支持静态和动态DHCP租约以及多个网络和IP范围。它适用于BOOTP中继,并支持DHCP选项,包括RFC3397 DNS搜索列表。由DHCP配置的计算机的名称会自动包含在DNS中,并且可以由每台计算机指定名称,也可以通过将名称与dnsmasq配置文件中的MAC地址相关联来集中指定这些名称。
  • Dnsmasq缓存Internet地址(A记录和AAAA记录)和地址到名称的映射(PTR记录),从而减少了上游服务器的负载并提高了性能(尤其是在调制解调器连接上)。
  • 可以将Dnsmasq配置为从ppp或dhcp配置中自动获取其上游名称服务器的地址。如果更改,它将自动重新加载此信息。对于Linux防火墙发行版的维护者来说,此功能特别有用,因为它允许dns配置自动进行。
  • 在启用IPv6的设备上,dnsmasq既可以通过IPv6与上游服务器通信,又可以通过IPv6提供DNS服务。在双协议栈(IPv4和IPv6)上,它可以同时使用两种协议,甚至可以充当IPv6至IPv4或IPv4至IPv6转发器。
  • 可以将Dnsmasq配置为将对某些域的查询发送到仅处理那些域的上游服务器。这使得与私有DNS系统的集成变得容易。
  • Dnsmasq支持MX和SRV记录,并且可以配置为返回任何或所有本地计算机的MX记录。

该线程建议使用WICD前/后脚本,以便在WICD GUI中选择其他网络会自动切换/ etc / hosts文件:

Ubuntu论坛-基于连接在主机文件之间切换

WICD网络管理器能够完全满足您的需求。您可以通过Synaptic(或软件中心)安装它。请注意,由于它的功能与默认的网络管理器相同,因此将其卸载。您始终可以通过安装network-manager-gnome软件包来换回来。

使用WICD,您可以将不同的前/后连接脚本用于不同的无线和有线网络。

如果您想保留默认的网络管理器,可以选择将脚本直接放在/ etc / network / if- *文件夹中……尽管我对这些文件的经验很少,因为我很高兴使用WICD。;)


3
如果您对每个答案有一个建议,这将很方便,这样可以更轻松地对某些建议进行投票。否则,很容易忽视社区找到解决此问题的更好方法的方法。无论如何,我通过扩展链接中的信息来改善了您的信息... :)
Tamara Wijsman 2012年

2

是的,您可以尝试dacuoxian-也在github上

它不提供GUI,但是比GUI程序更易于使用。这是一个Shell脚本,您可以使用一个命令来运行它。

例如,

$ sudo ./dacuoxian.sh google-hosts

0

您可以尝试github上的hostswitcher

这是wxpython构建的GUI工具,它使用gedit作为默认编辑器,您可以轻松地在许多主机文件之间切换主机。

屏幕截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.