个人使用的是kali linux,该系统默认已经安装好iptables,通过命令iptables -L可以查看是否有安装。如果没有安装,可以使用命令apt-get install iptables* 进行安装,带"*"是防止依赖包没有安装导致"iptables"安装失败。
iptables -L -n:查看配置的规则
iptables -F INPUT:删除对应规则链中的所有规则
iptables -F:清空规则
iptables-save > filename:备份命令,若提示命令不存在,则使用/sbin/iptables-save
service iptables save:保存配置
新增规则:-A INPUT/OUTPUT/FORWARD,规则会添加到规则链末尾
插入规则:-I INPUT/OUTPUT/FORWARD,规则会添加到规则链前
删除规则:-D INPUT 1,删除序列号为1的规则,系列号可以通过命令iptables -L -n --line-number查找
指定协议:-p tcp
指定源IP:-s 10.10.10.10
目的IP: -d 10.10.10.10
源目的端口: --sport 22(源端口);–dport 22(目的端口)
处理动作:-j APPECT(放行)/REJECT(拦截)/DROP(丢弃)
kali iptables默认是没有任何规则配置的,允许所有的数据流通过
本文以设置只允许部分IP访问5901端口(VNC服务)为例
iptables -P INPUT DROP //外部的任何IP都访问不了
或者只禁止端口访问
iptables -I INPUT -p TCP --dport 5901 -j DROP
iptables -I INPUT -p tcp -s 10.10.10.10 --dport 5901 -j ACCEPT
需要使用**-I**指令插入,因为该规则需要放置在端口禁止规则的前面才可以
上面命令表示允许IP地址为10.10.10.10访问端口5901
iptables-save
iptables -A INPUT -p tcp -s 10.10.10.10 --dport 5901 -j DROP
IP地址为10.10.10.10无法访问5901端口
连续端口配置
iptables -A INPUT -p tcp -dport 5900:5955 -j DROP
不连续端口配置
iptables -A INPUT -p tcp -m multiport -dport 21:25,135:139 -j DROP