/etc/hosts 文件的格式如下:
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts 文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
第二个问题:
有三种解决方法:一是装一个ROUTEROS就是把机器变成路由器;
二、在linux上开启代理服务器功能;
三、利用linux的防火墙iptables做NAT也是可以的。
在Linux系统中,修改hosts文件非常简单,只需要使用文本编辑器打开hosts文件,然后添加或修改hosts里的内容即可。 Linux的hosts文件一般位于/etc/hosts,但是你也可以在/etc/hosts.allow或/etc/hosts.deny中修改它。 修改hosts文件后,需要重新启动DNS解析服务,在CentOS系统中,使用以下命令:$ sudo service network restart
在Ubuntu系统中,使用以下命令:
$ sudo /etc/init.d/networking restart
linux /etc目录下有五个host开头的文件 :host.conf hostname hosts hosts.allow hosts.deny。
1、host.conf 文件指定如何解析主机名,笔者的centos7的/etc/host.conf里面是 multi on,即指定的主机可以有多个IP地址。
2、hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。
3、hostname是主机名,当你在命令行输入hostname时返回的主机名,也是环境变量中命令行 prompt 显示的主机名。
4、 hosts负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。详情参考笔者的文章-linux中/etc/hosts文件配置。
先来测试一下hosts.allow与hosts.deny这两个配置文件设置ssh的连接。
hosts.deny中添加设置 sshd : ALL,再次使用ssh连接,会出现:ssh_exchange_identification: read: Connection reset 的错误,但是已经连接上的ssh是不会中断的,说明 hosts.deny时在连接时查询的配置文件。
然后在hosts.allow中添加设置sshd : 192.168.56.1,再次使用ssh可以成功连接。
在设置屏蔽所有ssh后,在单独允许192.168.56.1这个ip地址,ssh是允许的,那么就存在优先级问题。优先级为先检查hosts.deny,再检查hosts.allow。
两个配置文件的格式如下:
服务进程名:主机列表:当规则匹配时可选的命令 *** 作。
为了安全可以在hosts.deny文件中配置拒绝所有的访问ALL:ALL,然后在hosts.allow文件中逐个开放访问许可,增强安全性。
sshd可以换成其他服务进程名,比如httpd、telnetd等等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)