說明
其實限制IP登陸用防火牆和這沒有區別,只是有些沒有使用防火牆的服務器,用該方法,就更方便一些。
有2個文件,一個是配置允許規則(/etc/hosts.allow),一個是配置拒絕規則(/etc/hosts.deny)。
設置/etc/hosts.allow允許規則
方法一:vim /etc/hosts.allow
在最後面添加規則即可
方法二:echo "規則" >> /etc/hosts.allow
添加單條規則
[root@compute1 ~]# echo "sshd:192.168.0.:allow" >>/etc/hosts.allow
(此規則爲允許192.168.0.段的IP訪問SSH服務)
添加多條
多個IP用逗號隔開即可:
[root@compute1 ~]# echo "sshd:192.168.0.,10.233.0.1,10.0.1.:allow" >>/etc/hosts.allow
注:10.10..
和10.10.0.*
:都是放開一個段的格式
這些規則設置完畢後是默認生效的,如果沒有立即生效,可以重啓xinetd服務:systemctl restart xinetd
設置/etc/hosts.deny拒絕規則
如果我們只是想拒絕某些ip登陸,其他都允許,則在/etc/hosts.deny中添加需要拒絕的IP或IP段即可,添加規則和/etc/hosts/allow一樣。
但一般情況使用更多的是,只允許某些IP或IP段能登陸,其他都拒絕,則我們在allow中設置好允許登陸的IP,然後deny中直接all(拒絕所有)即可。 因爲規則是以allow優先的,即使重複了,也是以allow爲準。
拒絕所有
設置拒絕所有之前,務必先配置好allow中的規則,否則自己也登陸不了了,只能通過後臺弄,稍顯麻煩。
[root@compute1 ~]# echo "sshd:all:deny" >>/etc/hosts.deny
這些規則設置完畢後是默認生效的,如果沒有立即生效,可以重啓xinetd服務:systemctl restart xinetd