修改/etc/hosts如何生效
时间: 2023-07-05 07:17:13 浏览: 294
在您修改了`/etc/hosts`文件后,您需要刷新DNS缓存以使其生效。具体方法取决于您的操作系统。
在Linux和MacOS中,您可以使用以下命令来刷新DNS缓存:
```
sudo killall -HUP mDNSResponder
```
在Windows中,您可以使用以下命令来刷新DNS缓存:
```
ipconfig /flushdns
```
注意:在使用`sudo killall -HUP mDNSResponder`命令时可能需要输入管理员密码。在使用`ipconfig /flushdns`命令时,您需要以管理员身份运行命令提示符。
刷新DNS缓存后,您应该能够通过主机名连接到您的远程服务器。
相关问题
修改/etc/hosts文件后如何生效
修改`/etc/hosts`文件后,为了让改动立即生效,通常需要清除本地的DNS缓存,或者重启相关的网络服务,因为操作系统会缓存这些信息。具体操作方法取决于你使用的操作系统。以下是一些常见操作系统中,使修改生效的一般步骤:
1. 对于大多数Linux发行版,可以通过运行以下命令来清除DNS缓存:
```
sudo systemd-resolve --flush-caches
```
或者
```
sudo /etc/init.d/nscd restart
```
如果你使用的是系统服务管理器如systemd,则可能需要重启网络服务:
```
sudo systemctl restart network
```
2. 在Windows系统中,通常可以通过打开命令提示符(CMD),然后运行以下命令来清除DNS缓存:
```
ipconfig /flushdns
```
3. 在macOS系统中,可以打开终端,然后输入以下命令:
```
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
```
完成这些操作后,`/etc/hosts`文件的更改应该就会立即生效。不过需要注意的是,直接编辑`/etc/hosts`文件需要管理员权限,因为这个文件是系统级别的配置文件。
分别查看/var/log/denyhosts,/etc/hosts.deny和usr/share/denyhosts/data/hosts/中是否有拦截ip记录,有的话将你的ip添加到/etc/hosts.allow中。如何查看上述命令
在Linux系统中,如果你想查看 `/var/log/denyhosts`、`/etc/hosts.deny` 和 `usr/share/denyhosts/data/hosts/` 文件中是否包含特定IP地址的拦截记录,你可以按照以下步骤操作:
1. 打开终端并切换到root权限,因为这几个文件通常需要管理员权限才能访问:
```
sudo -i
```
2. 首先检查`/var/log/denyhosts`日志文件,这个文件通常记录了拒绝访问的尝试:
```
cat /var/log/denyhosts
```
翻阅日志查找是否有提到你的IP。
3. 接着打开`/etc/hosts.deny`文件,它直接定义了哪些IP应该被拒绝访问:
```
cat /etc/hosts.deny
```
如果你的IP在这其中,说明已经被拒绝。
4. 检查`usr/share/denyhosts/data/hosts/`目录,这是一个自定义规则文件夹,可能存在个别规则文件,比如`hosts`文件,同样查找你的IP。
```
grep -w your_ip /usr/share/denyhosts/data/hosts/*
```
5. 如果你想将你的IP添加到允许访问的列表(`/etc/hosts.allow`),首先备份原有的文件以防意外:
```
sudo cp /etc/hosts.allow /etc/hosts.allow.bak
```
然后编辑`/etc/hosts.allow`,添加一行包含你的IP地址的新条目:
```
echo "your_ip all" >> /etc/hosts.allow
```
请确保替换`your_ip`为你实际的IP。
记得完成以上操作后,你需要重启相关的服务或者让更改生效,如`rpcbind`或`networking`服务,具体取决于系统的配置。
阅读全文