Linux iptables 开放和屏蔽端口


title: Linux iptables 开放和屏蔽端口
tags: [Linux, iptables]
date: 2017-09-19 17:40:50


iptables命令语法

  1. 查看服务器目前开放端口
netstat -tnl
  1. 开放指定的端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT               #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT    #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT         #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT    #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT    #允许FTP服务的20端口
iptables -A INPUT -j reject       #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT     #禁止其他未允许的规则访问
  1. 屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP       #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP      #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP    #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP    #封IP段即从123.45.6.1到123.45.6.254的命令是
  1. 保存设置(通过iptables命令设置,如果不保存服务器重启后会丢失)
service iptables save
  1. 查看已添加的iptables规则
iptables -L -n -v
  1. 删除已添加的iptables规则
    将所有iptables以序号标记显示,执行:iptables -L -n --line-numbers
    比如要删除INPUT里序号为8的规则,执行:iptables -D INPUT 8