在我们的网页开发过程中,我们经常需要在多个浏览器中测试我们的应用程序和网站的布局。由于几乎不可能独立运行所有这些浏览器,而且IETester等应用程序无法完美运行并且无法在 Windows 7 上运行,因此能够为这些浏览器运行虚拟机以拥有“本机”经验。
目前,我正在尝试使用运行IE7的虚拟 Windows XP。我自己的设置是Windows 7 RC1 64bit。我们的大多数网站和应用程序都是使用 Windows 主机文件中的映射在本地开发的。
问题:
从虚拟机中导航到http://mywebsite.localhost 时,将查询虚拟机的主机文件,而不是虚拟机顶部的实际操作系统。此外,当添加完全相同的映射时,浏览器(显然)仍然导航到“虚拟本地主机”。
我们有一台服务器,我们在上面托管私人服务。这些服务也可以从世界其他地方访问,但根据来自哪个 IP 请求的应用程序级别略有不同。
应用程序在 app1.domain.com 等子域上运行,因此我想将 *.domain.com 添加到某个地方的异常并将其指向我们的 VPN IP 而不是公共 IP。/etc/hosts 是一种矫枉过正,因为这个办公室有 25 个客户端系统,而且每次我们启动新应用程序时,我都必须更新每个人的 /etc/hosts。我正在寻找更通用的一次性解决方案。
DNS 可以成为我的解决方案吗?但即使在这种情况下,每次启动新应用程序时我都不必添加新条目吗?(这比将它添加到 25 台机器要好得多,但仍然......)
你有什么建议?
我想让 DNS 以循环方式工作。所以我必须将一个条目放入/etc/hosts. 但是,这不允许通配符域。
有什么办法可以在 dnsmasq 中做到这一点吗?
所以我会得到类似的东西:
*.test.example. 0 IN CNAME mytest.example.
mytest.example. 0 IN A 192.0.2.123
Run Code Online (Sandbox Code Playgroud) 问题很简单:没有root访问权限,但需要将特定的域名指向指定的IP地址。
还有哪些其他方法可以完成与将记录添加到 /etc/hosts 文件相同的操作?
更新:
澄清:
我的域名已过期,但我仍然想通过其域名从公司网络(我的 Linux 工作站上没有 root 权限)访问它:http、https、imaps、smtps、ftp 和几个特定的域名端口。
我有一个关于主机文件在 Windows 上的位置的一般查询。它位于以下位置:
f:\windows\system32\drivers\etc\hosts
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么?微软是否可以为主机文件选择一个更隐蔽的位置?
我是 LDAP 的新手,我已经使用 LDAP 配置了帐户,因此我可以使用 LDAP 在几台计算机上登录。
现在我想向 LDAP 添加一些主机名。在/etc/nsswitch.conf我改变:
hosts: files dns ldap
Run Code Online (Sandbox Code Playgroud)
但我不知道如何向 LDAP 数据库添加任何内容,以便它可以解析一些名称。我试过谷歌,但我找不到任何有用的东西。
例如,如何添加:
192.168.1.1 node1
Run Code Online (Sandbox Code Playgroud) 我刚刚遇到一个服务器,它不响应诸如ping localhost或之类的事情mysql -h localhost- 我相信这是因为 localhost 未在 hosts 文件中定义。
在我使用localhost过的几乎每台机器上,hosts 文件中都有一个条目。有什么好的理由不定义它——比如可能的安全问题?或者这是默认情况下可能应该配置的东西,也许只是缺少?
我正在为我的 Puppet 基础设施编写一个外部节点分类器,我需要/etc/hosts在每个节点上操作文件。以下(由于重复键)是无效的 YAML:
---
host:
name: www1.example.com
host_aliases: www1
ip: 1.2.3.4
host:
name: www2.example.com
host_aliases: www2
ip: 1.2.3.5
Run Code Online (Sandbox Code Playgroud)
我看到了这个相关的答案,它有以下代码:
host {
# Public IPs - eth0
'front-01': ip => '192.168.1.103';
'front-02': ip => '192.168.1.106';
# Private IPs - eth1
'priv0-0': ip => '192.169.40.201';
'priv0-1': ip => '192.169.40.202';
'priv1-0': ip => '192.169.40.207';
'priv1-1': ip => '192.169.40.208';
# Virtual IPs - eth0:1
'vip-01': ip => '192.169.50.202';
'vip-02': ip => '192.169.50.205';
}
Run Code Online (Sandbox Code Playgroud)
然而,
我已经配置了堡垒或(跳转)框来访问虚拟专用网络。
#ssh_config
Host bastion
HostName 14.90.140.120
User me
IdentityFile ~/.ssh/me
ForwardAgent yes
Host 10.1.*
User me
IdentityFile ~/.ssh/me
ProxyCommand ssh bastion -W %h:%p
Run Code Online (Sandbox Code Playgroud)
我能够通过 ssh 进入堡垒和 10.1.1.6 地址,没有任何问题。
我想做的是添加一个如下所示的条目。注意:我目前没有时间使用 DNS,但这将是我的首选方法。
#/etc/hosts
10.1.1.6 my-host-inside-vpc.corp.internal
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做并尝试访问机器时,我得到以下信息
? ~ ssh -vvv my-host-inside-vpc.corp.internal
debug1: Reading configuration data /home/me/.ssh/config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to my-host-inside-vpc.corp.internal [10.1.1.6] port 22.
Run Code Online (Sandbox Code Playgroud)
此时操作超时。
在 Linux 上,我希望特定进程应将主机“xyz.com”解析为 IP“10.1.2.3”。这很简单:只需在/etc/hosts.
但是,我只想为一个进程执行此操作;我希望所有其他进程将“xyz.com”解析到 DNS。
有没有办法设置每个进程的 resolv.conf 或 /etc/hosts?我可以为例如共享库或变量执行此操作——我如何为 DNS 执行此操作?