linux之iptables

本文介绍了Ubuntu18.04系统中iptables的基本使用,包括常用命令如设置默认策略、清空规则链、查看规则链等,以及参数如-s、-d、-i、-o、-p等。还提到了规则链的不同阶段如PREROUTING、INPUT、OUTPUT、FORWARD和POSTROUTING,以及处理动作如DROP、REJECT和ACCEPT。此外,还提及了iptables-save用于保存策略,以及netstat命令的使用来查看网络及端口状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统:Ubuntu18.04

iptables是一款基于命令行的防火墙策略管理工具

常用命令

  • -P:设置默认策略
  • -F:清空规则链
  • -L:查看规则链
  • -A:在规则链末尾加入新规则
  • -I num:在规则链指定编号位置前插入新规则
  • -D num:删除某条规则

常用参数

  • -s:匹配来源地址IP/MASK,加叹号”!”表示除了某个ip外
  • -d:匹配目标地址
  • -i 网卡名称:匹配从这块网卡流入的数据
  • -o 网卡名称:匹配从这块网卡流出的数据
  • -p:匹配协议,如TCP、UDP、ICMP
  • –dport num:匹配目标端口号
  • –sport num:匹配来源端口号
  • -n:以数字形式显示规则,配合-L使用,有-n,会显示为0.0.0.0,没有会显示为anywhere或any
  • -v:显示的信息更详细,更友好,便于产看
  • –line-number:显示行号,配合-L使用

示例

vagrant@homestead:~$ sudo iptables -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
vagrant@homestead:~$ sudo iptables -nL INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
vagrant@homestead:~$ sudo iptables -vL INPUT
Chain INPUT (policy ACCEPT 4518 packets, 2152K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http
vagrant@homestead:~$ sudo iptables -nvL INPUT
Chain INPUT (policy ACCEPT 19064 packets, 5181K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
vagrant@homestead:~$ sudo iptables -L INPUT --line-number
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http

规则链

  • PREROUTING:路由选择前处理数据包
  • INPUT:过滤流入的数据包
  • OUTPUT:过滤流出的数据包
  • FORWARD:过滤转发的数据包
  • POSTROUTING:路由选择后处理数据包

处理动作

  • DROP:丢弃(直接丢弃掉,不响应)
  • REJECT:拒绝(不允许通过,并响应一条拒绝信息)
  • ACCEPT:允许

示例

//开启web服务端口(80)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
//开启FTP服务端口
iptables -A INPUT -p tcp --dprot 21 -j ACCEPT
//只允许某个ip可以SSH连接服务器
iptables -A INPUT -s 192.168.0.2 -p tcp --dport 22 -j ACCEPT
//删除规则
iptables -D INPUT -p tcp --dport 21 -j ACCEPT
//也可以先获取行号,再通过行号删除规则
iptables -L INPUT --line-number
iptables -D INPUT 1

定义完策略过后需要执行iptables-save保存

netstat主要是用来查看网络及端口使用情况

常用参数

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值