lptables的使用
一、lptables的安装、启动、关闭
1 yum install iptables
2 systemctl start iptables
3 systemctl disable --now firewalld
二、lptables的格式
1 iptables 参数 表名 选项 链名称 条件 动作
2 iptables 参数 表名
三、lptables的参数
1 -t 指定操作的表 2 -L 列出当前的规则 3 -v 显示数据包和数据包大小 4 -n 不反解地址 5 -A 追加一条规则到链中 6 -I 插入一条规则,插入到顶部 7 -F 清空 8 -Z 清空计算器(包数量、包大小) 9 10 11 -D 删除链中的规则 12 13 -R 修改 14 -S 列出所有的规则 15 16 -N 创建一个自定义 链 17 -X 删除一个自定义链 18 -P 指定链的默认策略
四、iptables的动作
ACCEPY 将数据包放行,进行完此处理动作后,将不再比对其他规则,直接跳往下一个规则链
REJECT 拦阻该数据包,并传输数据包通知对方
DROP 丢弃不予处理,进行完此处理动作后,将不再比对其他规则,直接中断过滤程序
REDIRECT 将包重新导向到另一个端口,进行完此处理动作后,将会继续比对其他规则
五、iptables协议
TCP UDP ICMP(ping) ALL
六、-s、-d源地址、目标地址
源地址:发送请求的地址 目标地址:访问地址
七、--sport源端口、--dport目标端口
源端口:发送请求的端口 目标端口:访问的端口
八、-i、-o、-m、-j、-p动作
-i 进去的网卡 -o 出去的网卡 -m 指定的网卡 -j 转发动作 -p 指定协议
九、案例
1>案例1:只允许22端口可以访问,其他端口全部无法访问
1 iptables -t filter -A INPUT -p TCP --dport 22 -j ACCEPT 2 iptables -t filter -A INPUT -p TCP -j DROP案例1
2>案例2:只允许22,88,443端口可以访问,其他端口全部无法访问
1 iptables -t filter -A INPUT -p TCP --dport 22 -j ACCEPT 2 iptables -t filter -A INPUT -p TCP --dport 80 -j ACCEPT 3 iptables -t filter -A INPUT -p TCP --dport 443 -j ACCEPT 4 iptables -t filter -A INPUT -p TCP -j DROP案例2
3>案例3:要求使用192.168.15.81能够通过22端口链接,但是其他的不行
1 iptables -t filter -A INPUT -p TCP -d 192.168.15.81 --dport 22 -j ACCEPT 2 iptables -t filter -A INPUT -p TCP -j DROP案例3
4>案例4:只允许192.168.15.71能够通过22端口链接,其他的不行。
1 iptables -t filter -A INPUT -p TCP -s 192.168.15.71 -d 192.168.15.81 --dport 22 -j ACCEPT 2 iptables -t filter -A INPUT -p TCP -j DROP案例4
5>案例5:要求192.168.15.71对外部不可见
1 iptables -t filter -A INPUT -p TCP -d 192.168.15.71 -j DROP案例5
6>案例6:要求使用eth0网卡的所有的请求全部拒绝
1 iptables -t filter -A INPUT -p TCP -i etho -j DROP案例6
7>案例7:使用172.16.1.71登录进来的窗口,不允许访问百度。
1 iptables -t filter -I OUTPUT -p TCP -o eth1 -j DROP案例7
8>案例8:要求访问服务器的8080端口转发至80端口
1 iptables -t nat -A PREROUTING -p TCP --dport 8080 -j REDIRECT --to-port 80案例8
9>要求只允许windows通过ssh连接192.168.15.81,其他的拒绝
1 iptables -t filter -I INPUT -p TCP -s 192.168.15.1 -d 192.168.15.81 --dport 22 -j ACCEPT 2 iptables -t filter -I INPUT -p TCP --dport 22 -j DROP案例9
知识储备:查看本机端口占用的命令:netstat -nutlp