1、检查iptables是否安装: rpm
-qa
2、联网安装iptables服务组件:yum
install iptables
3、检查iptables是否运行:service
iptables status
4、查看iptables的详细规则:iptables -L
5、禁止/解封一个特定ip访问主机:
iptables -I INPUT -s
[来源IP] -j DROP; #禁止来源IP对本机的来访
iptables -I OUTPUT -d
[目标IP] -j DROP; #禁止本机对目标IP的出访
iptables -D INPUT -s
[来源IP] -j DROP; #对应的取消此IP禁止命令
iptables -D OUTPUT -d
[目标IP] -j DROP; #对应的取消此IP禁止命令
iptables -A INPUT -s
[来源IP] -j DROP; #封锁来源IP对本机的来访
iptables -A OUTPUT -d
[目标IP] -j DROP; #封锁本机对目标IP的出访
iptables -D INPUT -s
[来源IP] -j DROP; #对应的取消此IP封锁命令
iptables -D OUTPUT -d
[目标IP] -j DROP; #对应的取消此IP封锁命令
参数-I是表示 Insert
(插入),-A是表示Append(追加),-D表示 Delete (删除)。
后面跟的是规则, INPUT
表示入站,OUTPUT表示出站,
-s参数表示来源,-d表示目标,***.***.***.***
表示要封停的IP,
-j DROP 表示放弃连接,-j
ACCEPT表示接受连接。
6、禁止一个网段的ip访问主机:
添加IP段到封停列表中:
iptables -I INPUT -s
121.0.0.0/8 -j DROP 禁止整个网段即从121.0.0.1到121.255.255.254的命令
7、只打开22端口
iptables -A INPUT -p
tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p
tcp –sport 22 -j ACCEPT
参数讲解:
–A
参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp
协议,当然也有udp,例如53端口的DNS
–dport
就是目标端口,当数据从外部进入服务器为目标端口
–sport
数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者
DROP 不接收
8、禁止55.55.55.55通过tcp协议对80端口的访问
iptables -I INPUT -s
55.55.55.55 -p TCP –dport 80 -j DROP
9、重启防火墙
开启:service iptables
start
关闭:service iptables
stop
重启:service iptables
restart
10、解除端口禁用
iptables -D INPUT -s
55.55.55.55 -p TCP –dport 80 -j ACCEPT
1)针对所有端口的完全封锁;
---------------------------------------------------------------
iptables -I INPUT -s
65.55.44.100 -j DROP; (封锁65.55.44.100对本机所有端口的访问)
iptables -I OUTPUT -d
65.55.44.100 -j DROP; (封锁本机对65.55.44.100所有端口的访问)
===============================================================
===============================================================
2)针对特定协议及端口的完全封锁;
---------------------------------------------------------------
iptables -I INPUT -p
TCP --dport 25 -j DROP; (封锁25端口的INPUT,本机将不能接收邮件)
iptables -I OUTPUT -p
TCP --dport 25 -j DROP; (封锁25端口的OUTPUT,本机将不能发送邮件)
iptables -I INPUT -s
65.55.44.100 -p TCP --dport 25 -j DROP;
(封锁65.55.44.100对本机25端口的访问)
===============================================================
===============================================================
3)针对特定协议的部分封锁;
---------------------------------------------------------------
#禁止所有TCP连接,只允许某些IP可以通过TCP访问本机:
iptables -I INPUT -p
TCP -j DROP; (禁止所有通过TCP协议进入本机的连线)
iptables -I INPUT -s
137.189.3.8 -p TCP -j ACCEPT;
(允许137.189.3.8通过TCP协议进入本机)
iptables -I INPUT -s !
137.189.3.8 -p TCP -j DROP;
(只允许137.189.3.8进入,等效于上两句,但只能开放一个IP)
#开放所有TCP连接,但禁止某
些IP可以通过TCP访问本机:
iptables -I INPUT -p
TCP -j ACCEPT; (允许所有通过TCP协议进入本机的连线)
iptables -I INPUT -s
137.189.3.8 -p TCP -j DROP; (禁止137.189.3.8通过TCP协议进入本机)
iptables -I INPUT -s !
137.189.3.8 -p TCP -j ACCEPT; (等效于前两句,但只能禁止一个IP)
===============================================================
===============================================================
4)针对特定协议及端口的部分封锁;
---------------------------------------------------------------
#开放TCP连接80端口,但禁止某些IP通过TCP访问80端口:
iptables -I INPUT -p
TCP --dport 80 -j ACCEPT; (允许所有IP对本机80端口的访问)
iptables -I INPUT -s
210.245.191.162 -p TCP --dport 80 -j DROP;
(禁止210.245.191.162对80端口的访问)
iptables -I INPUT -s !
210.245.191.162 -p TCP --dport 80 -j ACCEPT;
(等效于前两句,但只能禁止一个IP)
#禁止TCP连接80端口,只开放某些IP通过TCP访问80端口:
iptables -I INPUT -p
TCP --dport 80 -j DROP; (禁止所有IP对本机80端口的访问)
iptables -I INPUT -s
210.245.191.162 -p TCP --dport 80 -j ACCEPT;
(允许210.245.191.162对80端口的访问)
iptables -I INPUT -s !
210.245.191.162 -p TCP --dport 80 -j DROP;
(等效于前两句,但只能开放一个IP进入)
#禁止本机通过TCP的80端口浏览外部网站,只允许访问203.194.162.10网站:
iptables -I OUTPUT -p
tcp --dport 80 -j DROP; (封锁80端口的OUTPUT,本机将不能浏缆外部网站)
iptables -I OUTPUT -p
tcp -d 203.194.162.10 --dport 80 -j ACCEPT;
(允许本机访问203.194.162.10的80端口)
iptables -I OUTPUT -p
tcp -d ! 203.194.162.10 --dport 80 -j DROP;
(等效于前两句,但只能允许访问一个IP)