Linux 防火墙

来源:互联网 发布:软件著作权版权局 编辑:程序博客网 时间:2024/05/22 15:33

1、简介:netfilter/iptables组成Linux平台下的包过滤防火墙,具有完成包过滤、封包重定向和网络地址转换(NAT)等功能。

2、内容:定义规则分别指定源地址、目的地址、传输协议、服务类型、当数据报和规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)、丢弃(drop),iptables内置了4个表,分别是filter(实现包过滤)、nat(网络地址转换)、mangle(包重构\修改)raw(数据跟踪处理).

3、系统缺省的表为filter该包中内置的三个链为INPUT、FORWARD、OUTPUT。有数据包进入系统时,系统首先根据路由表决定将数据包发给哪一条链,则可能有三种情况:

    如果数据包的目的地址是本机,则系统将数据包送往INPUT链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没通过规则检查,系统就会将这个包丢掉;

   如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往FORWARD链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没通过规则检查,系统就会将这个包丢掉;

   如果数据包是由本地系统进程产生的,则系统将其送往OUTPUT链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没通过规则检查,系统就会将这个包丢掉。

4、iptables语法

   语法:iptables[-t table] command [match] [-j target/jump]

5、netstat用法:

1)列出所有端口 (包括监听和未监听的)

   列出所有端口 netstat -a

   列出所有 tcp 端口 netstat -at

   列出所有 udp 端口 netstat -au

2)列出所有处于监听状态的 Sockets

   只显示监听端口 netstat -l

   只列出所有监听 tcp 端口 netstat -lt

   只列出所有监听 udp 端口 netstat -lu

   只列出所有监听 UNIX 端口 netstat -lx

3)显示每个协议的统计信息

   显示所有端口的统计信息 netstat -s

   显示TCP端口的统计信息 netstat -st

   显示UDP端口的统计信息 netstat - su

4)在 netstat 输出中显示 PID 和进程名称 netstat -p

   netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中,这样 debugging 的时候可以很方便的发现特定端口运行的程序。

5)在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

   当不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。

   同样可以加速输出,因为不用进行比对查询。