`

Fedora8中Iptables防火墙的配置

阅读更多
防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定P包是否可以传进或传出内部网。
防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。
*********************************************************************
iptables的命令格式较为复杂,一般的格式如下:
**************************************
iptables [-t表] -命令 匹配 操作
*********************************************************************
1.表选项
***********
表选项用于指定命令应用于哪个iptables内置
表,iptables内置包括filter表、nat表和mangle表
*********************************************************************
2.命令选项
***********
命令                           说明
-P或--policy  <链名>         定义默认策略
-L或--list  <链名>           查看iptables规则列表
-A或—append  <链名>           在规则列表的最后增加1条规则
-I或--insert  <链名>         在指定的位置插入1条规则
-D或--delete  <链名>         从规则列表中删除1条规则
-R或--replace  <链名>         替换规则列表中的某条规则
-F或--flush  <链名>           删除表中所有规则
-Z或--zero  <链名>           将表中数据包计数器和流量计数器归零
*********************************************************************
3.匹配选项
**********
匹配                                      说明
-i或--in-interface  <网络接口名>          指定数据包从哪络接口进入,如ppp0、eth0和eth1等
-o或--out-interface  <网络接口名>          指定数据包从哪块网络接口输出,如ppp0、eth0和eth1等
-p或---proto协议类型  <                    指定数据包匹配的协议,如TCP、UDP和ICMP等
-s或--source  <源地址或子网>              指定数据包匹配的源地址
--sport <源端口号>                        指定数据包匹配的源端口号,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
-d或--destination  <目标地址或子网>        指定数据包匹配的目标地址
--dport目标端口号                          指定数据包匹配的目标端口号,可以使用“起始端口号:结束端口号”的格式指定一个范围的端口
*********************************************************************4.动作选项
**********
动作           说明
ACCEPT         接受数据包
DROP           丢弃数据包
REDIRECT       将数据包重新转向到本机或另一台主机的某个端口,通常用功能实现透明代理或对外开放内网某些服务
SNAT           源地址转换,即改变数据包的源地址
DNAT           目标地址转换,即改变数据包的目的地址
MASQUERADE     IP伪装,即是常说的NAT技术,MASQUERADE只能用于ADSL等拨号上网的IP伪装,也就是主机的IP是由ISP分配动态的;如果主机的IP地址是静态固定的,就要使用SNAT
LOG             日志功能,将符合规则的数据包的相关信息记录在日志中,以便管理员的分析和排错
一、 安装
[root@localhost ~]# rpm -qa iptables
iptables-1.3.8-5.fc8
二、 定义默认策略
*************
定义默认策略
**************
当数据包不符合链中任一条规则时,iptables将根据该链预先定义的
默认策略来处理数据包,默认策略的定义格式如下。
iptables  [-t表名] <-P> <链名> <动作>
参数说明如下
  [-t表名]:指默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。
  <-P>:定义默认策略。
  <链名>:指默认策略将应用于哪个链,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING。
  <动作>:处理数据包的动作,可以使用ACCEPT(接受数据包)和DROP(丢弃数据包)。
*************************************************
例1. 将filte表INPUT链的默认策略定义为接受数据包
[root@localhost ~]# iptables -P INPUT ACCEPT
例2. 将nat表OUTPUT链的默认策略定义为丢弃数据包
[root@localhost ~]# iptables -t nat -P OUTPUT DROP
*********************************************************************
三、 查看iptables规则
*****************
查看iptables规则
*****************
查看iptables规则的命令格式为:
iptables  [-t表名] <-L> [链名]
参数说明如下。
  [-t表名]:指查看哪个表的规则列表,表名用可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认查看filter表的规则列表。
  <-L>:查看指定表和指定链的规则列表。
  [链名]:指查看指定表中哪个链的规则列表,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING,如果不指明哪个链,则将查看某个表中所有链的规则列表。
************************************************
例3. 查看filter表所有链的规则表
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
Chain RH-Firewall-1-INPUT (1 references)
target     prot opt source               destination        
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     esp  --  anywhere             anywhere           
ACCEPT     ah   --  anywhere             anywhere           
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
例4. 查看nat表所有链的规则表
[root@localhost ~]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination        
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination        
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
例5. 查看mangle表所有链的规则列表
[root@localhost ~]# iptables -t mangle  -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination        
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
*********************************************************************      
四、 增加,插入,删除和替换规则
***********************
相关规则定义的格式为:
***********************
iptables  [-t表名]  <-A | I | D | R> 链名 [规则编号] [-i | o 网卡名称] [-p 协议类型] [-s 源IP地址 | 源子网] [--sport 源端口号] [-d目标IP地址 | 目标子网] [--dport目标端口号] <-j动作>
参数说明如下。
  [-t表名]:定义默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。
  -A:新增加一条规则,该规则将会增加到规则列表的最后一行,该参数不能使用规则编号。
  -I:插入一条规则,原本该位置上的规则将会往后顺序移动,如果没有指定规则编号,则在第一条规则前插入。
  -D:从规则列表中删除一条规则,可以输入完整规则,或直接指定规则编号加以删除。
  -R:替换某条规则,规则被替换并不会改变顺序,必须要指定替换的规则编号。
  <链名>:指定查看指定表中哪个链的规则列表,可以使用INPUT、OUTPUT、FORWARD、PREROUTING、OUTPUT和POSTROUTING。
  [规则编号]:规则编号用于插入、删除和替换规则时用,编号是按照规则列表的顺序排列,规则列表中第一条规则的编号为1。
  [-i | o 网卡名称]:i是指定数据包从哪块网卡进入,o是指定数据包从哪块网卡输出。网卡名称可以使用ppp0、eth0和eth1等。
  [-p 协议类型]:可以指定规则应用的协议,包含TCP、UDP和ICMP等。
  [-s 源IP地址 | 源子网]:源主机的IP地址或子网地址。
  [--sport 源端口号]:数据包的IP的源端口号。
  [-d目标IP地址 | 目标子网]:目标主机的IP地址或子网地址。
  [--dport目标端口号]:数据包的IP的目标端口号。
  <-j动作>:处理数据包的动作
*****************************************************
例6. 为filter表的INPUT链添加一条规则,规则的内容是将来自IP地址为192.168.1.200这台主机的数据包都予以丢弃,然后查看filter表的INPUT链规则列表
[root@localhost ~]# iptables -t filter -A INPUT -s 192.168.1.200 -j DROP
[root@localhost ~]# iptables -t filter -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           
DROP       all  --  192.168.1.200        anywhere           
例7. 为filter表的INPUT链添加一条规则,规则的内容是接受来自192.168.1.200这台主机的数据包,然后查看filter表的INPUT链规则列表
[root@localhost ~]# iptables -t filter -A INPUT -s 192.168.1.200 -j ACCEPT
[root@localhost ~]# iptables -t filter -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           
DROP       all  --  192.168.1.200        anywhere           
ACCEPT     all  --  192.168.1.200        anywhere      
例8. 在filter表的INPUT链规则列表中的第2条规则前插入一条规则,规则的内容是禁止192.168.2.0这个子网里所有的主机访问TCP协议的80端口,然后查看filter表的INPUT链规则列表
[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp --dport 80 -j DROP
[root@localhost ~]# iptables -t filter -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       tcp  --  192.168.2.0/24       anywhere            tcp dpt:http
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           
DROP       all  --  192.168.1.200        anywhere           
ACCEPT     all  --  192.168.1.200        anywhere           
例9. 删除filter表的INPUT链规则列表中第3条规则,然后查看filter表的INPUT链规则列表
[root@localhost ~]# iptables -t filter -D INPUT 3
[root@localhost ~]# iptables -t filter -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       tcp  --  192.168.2.0/24       anywhere            tcp dpt:http
RH-Firewall-1-INPUT  all  --  anywhere             anywhere           
ACCEPT     all  --  192.168.1.200        anywhere           
例10. 替换filter表的INPUT链规则列表中的第2条规则为禁止192.168.3.0这个子网里所有的主机访问TCP协议的80端口,然后查看filter表的INPUT链规则列表
[root@localhost ~]# iptables -t filter -R INPUT 2 -s 192.168.3.0/24 -p tcp --dport 80 -j DROP
[root@localhost ~]# iptables -t filter -L INPUT
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       tcp  --  192.168.2.0/24       anywhere            tcp dpt:http
DROP       tcp  --  192.168.3.0/24       anywhere            tcp dpt:http
ACCEPT     all  --  192.168.1.200        anywhere
*********************************************************************           
五、 清除规则和计数器
****************
清除规则和计数器
****************
在新建规则时,往往需要清除原有的、旧的规则,以免它们影
响新设定的规则。如果规则比较多,一条条删除就会十分麻烦,
这时可以使用iptables提供的清除规则参数达到快速删除所有的规
则的目的。定义参数的格式为:
iptables  [-t表名] <-F | Z>
参数说明如下。
  [-t表名]:指定默认策略将应用于哪个表,可以使用filter、nat和mangle,如果没有指定使用哪个表,iptables就默认使用filter表。
  -F:删除指定表中所有规则。
  -Z:将指定表中的数据包计数器和流量计数器归零。
*********************************************
例11. 删除filter表中所有规则
[root@localhost ~]# iptables -F
例12. 将filter表中数据包计数器和流量计数器规零
[root@localhost ~]# iptables -Z
例13. 删除nat表中所有规则
[root@localhost ~]# iptables -t nat -F
分享到:
评论

相关推荐

    ansible-role-firewall:Ansible角色-iptables防火墙配置

    ansible-role-firewall:Ansible角色-iptables防火墙配置

    fedora 5 telnet配置

    在CLI中,运行`setup`,然后选择“防火墙配置/定制”,启用Telnet服务。在GUI中,通过“主菜单”——“系统设置”——“服务器设置”——“服务”来启用。 7. **测试 Telnet 服务** 要确保Telnet服务已成功启用,...

    Fedora 8 and Red Hat Enterprise Linux Bible

    安全性和防火墙配置是本书的一个重要部分,它涵盖了如何使用iptables防火墙规则、SELinux(Security-Enhanced Linux)策略配置,以及如何保护系统免受恶意攻击和病毒侵袭。此外,书中还讨论了用户和组管理、权限控制...

    ssh怎么连接fedora14

    可以暂时禁用iptables防火墙以测试SSH连接: ``` sudo service iptables stop ``` 请注意,这将临时关闭防火墙,可能增加系统风险。如果需要长期开放SSH端口,应配置防火墙规则,允许SSH流量通过。 4. **配置...

    手把手教你Linux关闭防火墙命令.pdf

    例如,在 Fedora 系统中,可以使用 /etc/init.d/iptables stop 命令关闭防火墙,而在 Ubuntu 系统中,可以使用 iptables -P INPUT ACCEPT 命令关闭防火墙。 iptables 命令 iptables 命令是防火墙的核心命令,用于...

    fedora下配置tftp服务器步骤

    Fedora 下配置 TFTP 服务器步骤 TFTP(Trivial File Transfer Protocol)是用于下载远程文件的最简单网络协议,它基于 UDP 协议实现。Fedora 是一个流行的 Linux 发行版,下面将介绍如何在 Fedora 15 系统下配置 ...

    Fedora linux 安装后配置攻略

    - **防火墙设置**:配置iptables防火墙,保护系统安全。 - **打印机和扫描仪**:安装必要的驱动程序,确保打印和扫描功能正常工作。 - **多媒体编码解码器**:安装额外的编码解码器,以播放各种格式的音频和视频文件...

    iptables详解

    - 对于Red Hat或Fedora用户,还可以使用服务命令 `service iptables stop` 来停止iptables服务。 - **设置默认策略**: 默认策略定义了当数据包不匹配任何规则时的行为。例如,可以设置默认拒绝所有入站连接: - `...

    VMware下Fedora9与tiny210的NFS配置

    在本配置中,我们将详细讨论如何在VMware下的Fedora9虚拟机中设置NFS服务器,以便与tiny210开发板进行通信。首先,我们需要了解基本的环境设置: 开发板tiny210的IP地址是192.168.1.101,而运行Fedora9的虚拟机(在...

    Fedora_Core_6_Linux.rar_fedora

    6. **防火墙与安全设置**:Fedora Core 6提供了iptables防火墙,用户应根据实际需求开启或关闭相应端口,以保证系统安全。 7. **系统更新**:安装完成后,定期使用`yum update`命令更新系统到最新版,以获取安全...

    linux fedora 13 telnet-server

    可以使用`firewalld`或`iptables`配置防火墙规则。 - **认证方式**:最好避免使用纯密码认证,可以结合PAM(Pluggable Authentication Modules)实现更安全的认证方式。 7. **监控和日志** `telnet`服务的日志...

    fedora 9中samba共享的设置方法

    在 Fedora 9 中,设置 Samba 共享需要安装 Samba 服务,配置 smb.conf 文件,并添加共享用户和权限。本文将详细介绍 Fedora 9 中 Samba 共享的设置方法。 首先,需要安装 Samba 软件包。使用 rpm 命令检查是否已经...

    从seureCRT使用ssh远程登陆VMware下在fedora17系统

    本文详细介绍了如何在Fedora 17系统上安装SSH服务、配置SSH服务参数、配置防火墙规则以及设置SSH服务随系统启动自动启动的过程。通过这些步骤,我们可以实现从SecureCRT软件通过SSH协议远程登录至安装在VMware虚拟机...

    Fedora.Core.5.Starter.Guide

    6. **安全与防火墙**:讲解了iptables防火墙的配置,以及如何设置SSH、Samba等服务以确保安全的远程访问和文件共享。 7. **系统维护**:包括系统日志查看、性能监控、备份策略和故障排查方法,以及如何进行系统更新...

    fedora12 在VM6.5下的网络设置的图文介绍

    4. **防火墙设置**:如果使用iptables防火墙,需要开放telnet端口(23):`sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT`,并保存规则:`sudo service iptables save`。 通过以上步骤,我们完成了Fedora 12...

    Fedora_19办公注意的19件事

    - 卸载firewallld并使用iptables来关闭防火墙。 14. **Samba文件共享**: - 更新Samba配置以实现无密码共享,需更改全局设置和共享目录配置。 15. **即时通讯工具**: - 使用Empathy集成MSN、Yahoo、ICQ等即时...

    fedora ftp服务器搭建以及文件上传

    在 Fedora 10 中,我们需要查看 SELINUX 的配置文件并进行修改来允许 FTP 连接: ``` getsebool -a | grep ftp ``` ``` setsebool -P ftp_home_dir 1 ``` ### 10. 查看 ftp 目录下的文件夹 我们可以查看 ftp ...

    linux优化设置(开启root用户、关闭防火墙)

    下面详细介绍如何在Fedora发行版中开启`root`用户登录。 1. **切换到Root用户** 打开终端,使用`su`命令切换到`root`用户。 ```bash su ``` 输入`root`用户的密码后,提示符会从`$`变为`#`。 2. **编辑配置...

    Fedora17安装记录

    4. **防火墙与安全**: 配置防火墙规则,确保系统安全,可以使用firewalld或iptables工具。 5. **备份与恢复**: 使用Btrfs的快照功能定期创建系统快照,以备不时之需。 通过以上步骤,你可以成功地在ARM设备上安装...

    Fedora security guide

    - **防火墙配置**:讲解iptables、firewalld等工具的基本用法,以及如何构建有效的防火墙规则。 - **日志审计**:解释如何利用日志文件进行安全事件分析和跟踪,以及常用的日志管理工具。 ##### 5.2 系统加固 - **...

Global site tag (gtag.js) - Google Analytics