利用hosts.allow和hosts.deny限制IP登陸分解

說明

其實限制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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章