linux防火墻如何阻止ip訪問
linux防火墻如何阻止ip訪問
我想設(shè)置下linux防火墻阻止某些ip的訪問,用什么方法好呢?下面由學(xué)習(xí)啦小編給你做出詳細(xì)的linux防火墻阻止ip訪問設(shè)置方法介紹!希望對(duì)你有幫助!
linux防火墻阻止ip訪問設(shè)置方法一:
Linux系統(tǒng)中,如果需要禁止特定ip地址訪問來(lái)保證系統(tǒng)的安全,只需通過(guò)操作iptalbes來(lái)實(shí)現(xiàn),下面就給紹下Linux如何禁止某個(gè)ip地址訪問。
linux防火墻阻止ip訪問一、概述
這兩個(gè)文件是tcpd服務(wù)器的配置文件,tcpd服務(wù)器可以控制外部IP對(duì)本機(jī)服務(wù)的訪問。這兩個(gè)配置文件的格式如下:
#服務(wù)進(jìn)程名:主機(jī)列表:當(dāng)規(guī)則匹配時(shí)可選的命令操作
server_name:hosts-list[:command]
/etc/hosts.allow控制可以訪問本機(jī)的IP地址,/etc/hosts.deny控制禁止訪問本機(jī)的IP。如果兩個(gè)文件的配置有沖突,以/etc/hosts.deny為準(zhǔn)。
/etc/hosts.allow和/etc/hosts.deny兩個(gè)文件是控制遠(yuǎn)程訪問設(shè)置的,可以允許或者拒絕某個(gè)ip或者ip段的客戶訪問linux的某項(xiàng)服務(wù)。
比如SSH服務(wù),通常只對(duì)管理員開放,那就可以禁用不必要的IP,而只開放管理員可能使用到的IP段。
linux防火墻阻止ip訪問二、配置
1、修改/etc/hosts.allow文件
# hosts.allow This file describes the names of the hosts which are
# allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
sshd:210.13.218.*:allow
sshd:222.77.15.*:allow
all:218.24.129.110 #表示接受110這個(gè)ip的所有請(qǐng)求!
in.telnetd:140.116.44.0/255.255.255.0
in.telnetd:140.116.79.0/255.255.255.0
in.telnetd:140.116.141.99
in.telnetd:LOCAL
smbd:192.168.0.0/255.255.255.0 #允許192.168.0.網(wǎng)段的IP訪問smbd服務(wù)
#sendmail:192.168.1.0/255.255.255.0
#pop3d:192.168.1.0/255.255.255.0
#swat:192.168.1.0/255.255.255.0
pptpd:all EXCEPT 192.168.0.0/255.255.255.0
httpd:all
vsftpd:all
以上寫法表示允許210和222兩個(gè)ip段連接sshd服務(wù)(這必然需要hosts.deny這個(gè)文件配合使用),當(dāng)然:allow完全可以省略的。
ALL要害字匹配所有情況,EXCEPT匹配除了某些項(xiàng)之外的情況,PARANOID匹配你想控制的IP地址和它的域名不匹配時(shí)(域名偽裝)的情況。
2、修改/etc/hosts.deny文件
# hosts.deny This file describes the names of the hosts which are
# *not* allowed to use the local INET services, as decided
# by the ‘/usr/sbin/tcpd’ server.
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow. In particular
# you should know that NFS uses portmap!
sshd:all:deny
in.telnet:ALL
ALL:ALL EXCEPT 192.168.0.1/255.255.255.0,192.168.1.21,
202.10.5.0/255.255.255.0
注意看:sshd:all:deny表示拒絕了所有sshd遠(yuǎn)程連接。:deny可以省略。
3、啟動(dòng)服務(wù)。
注意修改完后:
#service xinetd restart
才能讓剛才的更改生效。
linux防火墻阻止ip訪問設(shè)置方法二:
linux下要使用iptables限制只有指定的ip才能訪問本機(jī)則需要先設(shè)置一個(gè)默認(rèn)的規(guī)則
iptables有默認(rèn)的規(guī)則,它可以適用于所有的訪問
因?yàn)橹挥兄付ɑ蛱囟ǖ膇p地址才能訪問本機(jī)
所以可以將默認(rèn)的規(guī)則設(shè)置為所有訪問全部阻止(當(dāng)然這里需要注意下,如果你要設(shè)置的機(jī)器是在遠(yuǎn)端,比如vps則需要注意在設(shè)置默認(rèn)規(guī)則的同時(shí)要將與該服務(wù)器鏈接的ip添加進(jìn)白名單,否則在設(shè)置完默認(rèn)阻止后你也無(wú)法訪問這臺(tái)服務(wù)器,也無(wú)法再進(jìn)行操作了,我們可以使用分號(hào);或者&&來(lái)在同一個(gè)命令行下來(lái)完成默認(rèn)阻止和將自己的ip添加進(jìn)白名單,假如你的ip地址為1.2.3.4則可以這樣輸入iptables -P INPUT DROP;iptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT,或者也可以指定一個(gè)端口)
設(shè)置默認(rèn)規(guī)則后則可以添加白名單了
比如允許2.3.4.5訪問則可以
iptables -A INPUT -s 2.3.4.5 -p tcp -j ACCEPT
如果要限定的不是整個(gè)服務(wù)器而只是該服務(wù)器中的某個(gè)服務(wù)
比如web服務(wù)(一般端口在80,https在443)
則我們可以使用0.0.0.0/0來(lái)阻止所有的ip地址
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP
來(lái)阻止所有訪問web服務(wù)器的ip地址
然后再添加指定的ip到白名單
比如添加1.2.3.4,我們可以
iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT
如果我們?cè)试S某個(gè)網(wǎng)段下的所有ip都可以訪問的話比如1.2.3.[0-255],我們可以
iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT
總之不管是阻止所有的服務(wù)還是只阻止指定的服務(wù)
我們可以先將默認(rèn)的規(guī)則設(shè)置為所有ip都不可訪問
然后再手動(dòng)添加ip地址到白名單
看了“linux防火墻如何阻止ip訪問 ”文章的還看了: