实例演示linux下屏蔽ip和端口号
本地PC : 192.168.1.103 端口 80
linux server: 192.168.1.251 端口22 端口 80
外部: www.a.com 端口 80
linux server上执行iptables -F && iptables -X && iptables -Z && service iptables save && service
iptables restart后防火墙为开启状态,INPUT ,FORWARD,OUTPUT 对于所有的端口与连接都是ACCEPT允许的。
要实现的效果
(1): 禁止本地PC ssh 访问linux server 22
方法1:iptables -I INPUT -p tcp -s 192.168.1.103/24 --dport 22 -j DROP
方法2:iptables -I OUTPUT -p tcp -d 192.168.1.103/24 --sport 22 -j DROP
(2): LINUX server 禁止对PC的80端口访问
方法1: iptables -A OUTPUT -p tcp -d 192.168.1.103/24 --dport 80 -j DROP
方法2: iptables -A INPUT -p tcp -s 192.168.1.103 --sport 80 -j DROP
(3): LINUX server 禁止对特定ip(单个ip)的访问
方法1 : iptables -A OUTPUT -p tcp -d 192.168.1.103/24 -j DROP
方法2: iptables -A INPUT -p tcp -s 192.168.1.103/24 -j DROP
效果:封了与这个ip有关的所有通讯端口, LINUX Server不能访问 PC的80 , PC不能ssh连接LINUX Server , 彼此是可以ping通的。
(4): LINUX Server上禁止访问www.a.com
方法1:iptables -A INPUT -p tcp -s www.a.com --sport 80 -j DROP
方法2:iptables -A OUTPUT -p tcp -d www.a.com --dport 80 -j DROP
(5): LINUX Server 禁止一组ip的访问
iptables -A INPUT -s 192.168.1.0/24 -j DROP
(6): LINUX Server 禁止一组端口访问
禁止多个端口服务
iptables -A Filter -m multiport -p tcp --dports 21,23,80 -j DROP
连续端口配置
iptables -A INPUT -p tcp --dports 21:25 -j DROP
注:这里是英文状态下的冒号。
使用multiport参数配置不连续端口
下面的效果:PC 不能ssh连接linux server服务器,封了linux server的危险端口135 139等
方法1:iptables -A INPUT -p tcp -m multiport --dports 22:25,135:139,80 -j DROP
方法2:iptables -A OUTPUT -p tcp -m multiport --sports 22:25,135:139,80 -j DROP
方法1跟方法2的效果一样,属于禁止linux server 自身的端口对外开放 。
(8): LINUX Server 禁止ping
方法1:iptables -A INPUT -p icmp -j DROP
方法2:iptables -A OUTPUT -p icmp -j DROP
(9):禁止某个IP地址的ping
如:禁止PC ping通linux server
方法1:iptables -I INPUT -p icmp -s 192.168.1.103/24 -j DROP
方法2:iptables -I OUTPUT -p icmp -d 192.168.1.103/24 -j DROP
效果是PC与linux server彼此均ping不通
(10): Linux server 禁止去访问外部的一些端口
方法1:iptables -A OUTPUT -p tcp -m multiport --dports 22:25,135:139,80 -j DROP
方法2:iptables -A INPUT -p tcp -m multiport --sports 22:25,135:139,80 -j DROP
效果:linux server 不能ssh连接外部的其他linux服务器,不能访问外部目标端口
(11): 拒绝所有的端口
iptables -A INPUT -j DROP
说明:以上是最为常见的linux防火墙操作实例。
重点是:INPUT与OUTPUT的熟练应用,以及数据流的方向性。
注意:iptables的规则匹配顺序上从上到下的,也就是说如果上下两条规则有冲突时,将会以上面的规则为准。