`
zzsj123
  • 浏览: 46015 次
社区版块
存档分类
最新评论

iptables规则的查看、添加、删除和修改IP及其端口

 
阅读更多
iptables规则的查看、添加、删除和修改

http://www.cszhi.com/20120717/iptables-sample.html


http://blog.csdn.net/zht666/article/details/17505789
iptables 禁止端口和开放端口

1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。
下面是命令实现:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了
这样的设置好了,我们只是临时的, 重启服务器还是会恢复原来没有设置的状态
还要使用 service iptables save 进行保存
看到信息 firewall rules 防火墙的规则 其实就是保存在 /etc/sysconfig/iptables
可以打开文件查看 vi /etc/sysconfig/iptables
2、
下面我只打开22端口,看我是如何操作的,就是下面2个语句
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
再查看下 iptables -L -n 是否添加上去, 看到添加了
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp -- 0.0.0.0/0            0.0.0.0/0           tcp dpt:22
Chain FORWARD (policy DROP)
target     prot opt source               destination
Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp -- 0.0.0.0/0            0.0.0.0/0           tcp spt:22
现在Linux服务器只打开了22端口,用putty.exe测试一下是否可以链接上去。
可以链接上去了,说明没有问题。
最后别忘记了保存 对防火墙的设置
通过命令:service iptables save 进行保存
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
针对这2条命令进行一些讲解吧
-A 参数就看成是添加一条 INPUT 的规则
-p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS
到时我们要配置DNS用到53端口 大家就会发现使用udp协议的
而 --dport 就是目标端口 当数据从外部进入服务器为目标端口
反之 数据从服务器出去 则为数据源端口 使用 --sport
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收
3、禁止某个IP访问
1台Linux服务器,2台windows xp 操作系统进行访问
Linux服务器ip 192.168.1.99
xp1 ip: 192.168.1.2
xp2 ip: 192.168.1.8
下面看看我2台xp 都可以访问的
192.168.1.2 这是 xp1 可以访问的,
192.168.1.8 xp2 也是可以正常访问的。
那么现在我要禁止 192.168.1.2 xp1 访问, xp2 正常访问,
下面看看演示
通过命令 iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
这里意思就是 -A 就是添加新的规则, 怎样的规则呢? 由于我们访问网站使用tcp的,
我们就用 -p tcp , 如果是 udp 就写udp,这里就用tcp了, -s就是 来源的意思,
ip来源于 192.168.1.2 ,-j 怎么做 我们拒绝它 这里应该是 DROP
好,看看效果。好添加成功。下面进行验证 一下是否生效
一直出现等待状态 最后 该页无法显示 ,这是 192.168.1.2 xp1 的访问被拒绝了。
再看看另外一台 xp 是否可以访问, 是可以正常访问的 192.168.1.8 是可以正常访问的
4、如何删除规则
首先我们要知道 这条规则的编号,每条规则都有一个编号
通过 iptables -L -n --line-number 可以显示规则和相对应的编号
num target     prot opt source               destination
1    DROP       tcp -- 0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
2    DROP       tcp -- 0.0.0.0/0            0.0.0.0/0           tcp dpt:21
3    DROP       tcp -- 0.0.0.0/0            0.0.0.0/0           tcp dpt:80
多了 num 这一列, 这样我们就可以 看到刚才的规则对应的是 编号2
那么我们就可以进行删除了
iptables -D INPUT 2
删除INPUT链编号为2的规则。
再 iptables -L -n 查看一下 已经被清除了。
5、过滤无效的数据包
假设有人进入了服务器,或者有病毒木马程序,它可以通过22,80端口像服务器外传送数据。
它的这种方式就和我们正常访问22,80端口区别。它发向外发的数据不是我们通过访问网页请求
而回应的数据包。
下面我们要禁止这些没有通过请求回应的数据包,统统把它们堵住掉。
iptables 提供了一个参数 是检查状态的,下面我们来配置下 22 和 80 端口,防止无效的数据包。
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
可以看到和我们以前使用的:
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
多了一个状态判断。
同样80端口也一样, 现在删掉原来的2条规则,
iptables -L -n --line-number    这个是查看规则而且带上编号。我们看到编号就可以
删除对应的规则了。
iptables -D OUTPUT 1     这里的1表示第一条规则。
当你删除了前面的规则, 编号也会随之改变。看到了吧。
好,我们删除了前面2个规则,22端口还可以正常使用,说明没问题了
下面进行保存,别忘记了,不然的话重启就会还原到原来的样子。
service iptables save    进行保存。
Saving firewall rules to /etc/sysconfig/iptables:          [ OK ]
其实就是把刚才设置的规则写入到 /etc/sysconfig/iptables 文件中。
6、DNS端口53设置
下面我们来看看如何设置iptables来打开DNS端口,DNS端口对应的是53
大家看到我现在的情况了吧,只开放22和80端口, 我现在看看能不能解析域名。
hostwww.google.com    输入这个命令后,一直等待,说明DNS不通
出现下面提示 :
;; connection timed out; no servers could be reached
ping 一下域名也是不通
[root@localhost ~pingwww.google.com
ping: unknown hostwww.google.com
我这里的原因就是 iptables 限制了53端口。
有些服务器,特别是Web服务器减慢,DNS其实也有关系的,无法发送包到DNS服务器导致的。
下面演示下如何使用 iptables 来设置DNS 53这个端口,如果你不知道 域名服务端口号,你
可以用命令 : grep domain /etc/services
分享到:
评论

相关推荐

    iptables详解

    下面通过具体的例子来展示iptables规则的配置过程: 1. **清除所有规则**: ```bash iptables -F ``` 2. **拒绝所有输入数据包**: ```bash iptables -A INPUT -j REJECT ``` 3. **允许HTTP访问**: ```...

    linux iptables防火墙配置

    3. **nat表**:专门用于网络地址转换(NAT),可以修改数据包的源或目标IP地址和端口。 4. **filter表**:这是最基本的过滤表,用于确定数据包是否允许通过防火墙。 规则链则进一步将规则组织起来,根据数据包的...

    iptables语法

    ### iptables语法详解 ...通过对上述知识点的总结和详细解释,我们可以更好地理解iptables的工作原理及其在实际应用场景中的使用方法。无论是对于网络管理员还是开发人员来说,熟练掌握iptables都是非常重要的。

    linux下的ptables配置

    3. **设置端口转发**:在NAT表的PREROUTING链中,添加一条规则,将发往Router1特定端口(如80或443)的请求重定向到PC2的实际IP和相应的端口。 4. **安全策略**:在FILTER表的INPUT链中,添加规则允许ICMP、HTTP、...

    ubuntu skills

    - **根据 IP 查网卡地址**:使用 `arp -a` 查看 ARP 表中的 IP 和 MAC 地址映射关系。 - **根据 IP 查电脑名**:使用 `host <ip-address>` 命令查询 IP 地址对应的主机名。 - **查看当前 IP 地址**:执行 `hostname ...

    CDH-5.XX 离线安装及升级步骤及安装过程常见错误.txt

    - 根据CDH和CM所需的端口列表,添加相应的iptables规则。 - 例如,对于CM使用的443端口,可以添加如下规则: ```bash iptables -A INPUT -p tcp -s 10.1.2.0/24 --dport 443 -j ACCEPT iptables -A OUTPUT -p ...

    linux_策略路由

    这两条命令分别用于删除和添加一个默认路由。`10.40.48.1`和`10.40.17.1`是下一跳地址,`table 1000`指定使用自定义的路由表1000。 2. **查看路由表**: ```bash vi /etc/iproute2/rt_tables ``` 使用`vi`编辑...

    XP远程访问虚拟机下linux步骤.pdf

    例如,添加一条允许所有IP访问telnet的规则: ``` -A RH-Firewall-1-INPUT -m tcp -p tcp --dport 23 -j ACCEPT ``` 然后保存并重启防火墙服务,如`service iptables restart`。 完成以上步骤后,你应该能够在...

    防火墙与Linux代理服务器.doc

    - `-A` 或 `append`:将规则添加到链的末尾。 - `-D` 或 `delete`:删除链中的规则。 - `-P` 或 `policy`:设置链的默认策略。 - `-N` 或 `new-chain`:创建新链。 - `-F` 或 `flush`:清空链中的所有规则。 -...

    网络安全中职组linux基本加固A模块

    - **检测并封锁后门端口**:利用`iptables`命令来添加规则,阻止特定端口的入站流量,例如: - 针对TCP端口:`iptables -A INPUT -p tcp --dport <端口号> -j DROP` - 针对UDP端口:`iptables -A INPUT -p udp --...

    linux 网络安全实践

    - 删除规则:`iptables -D INPUT 1`(删除第一条规则) - 清空规则:`iptables -F`(清空所有链上的规则) - 查看规则:`iptables -L -n -v`(查看所有链上的规则) **2.2 SELinux安全增强** SELinux(Security...

    Ubuntu命令技巧.pdf

    - 使用 `ip route add <destination>/<mask> via <gateway> [dev ]` 添加路由,使用 `ip route del` 删除路由。 **6.11 修改网卡MAC地址的方法** - 使用 `ip link set <interface> address <mac_address>` 修改网卡...

    Linux Admin quick reference

    - **/etc/networks**, **/etc/protocols**, **/etc/services**:分别存储网络、协议和TCP/IP服务及其端口映射。 - **/etc/rpc**:RPC服务名到其程序号的映射。 - **/etc/sysconfig/iptables**:保存的iptables规则,...

    sag_linux_admin_zip_

    - 理解iptables和firewalld防火墙规则,如何添加和删除规则。 - SELinux的概念和应用,理解强制访问控制(MAC)。 - SSH安全配置,包括密钥对认证和端口更改。 7. **软件包管理**: - RPM与DEB包管理系统的区别...

    详细linux yum lnmp

    确保这些规则添加在默认的22端口规则之下,然后重启防火墙使配置生效: ```bash /etc/init.d/iptables restart ``` 接下来,我们需要关闭SELinux,因为它可能会阻止某些服务的正常运行。修改`/etc/selinux/config`...

    linux面试题总结

    最后,添加一条规则允许通过eth0接口的TCP 80端口的连接,并将输入链的默认策略设置为拒绝所有流量,以确保除了显式允许的规则外,所有其他流量都被阻止。 #### 题目五:统计Nginx访问日志中的IP地址 **题目描述**...

    初级网络技术员测试试题.txt初级网络技术员测试

    - **命令选项:** `-A`添加规则,`-D`删除规则,`-I`插入规则,`-L`列出规则等。 - **选项含义:** 每个选项都有其特定的功能,例如`-A`用于向链尾添加一条规则。 ### 18. 开启IP转发 - **知识点:** 开启IP转发 ...

    Linux常见问题解答集中版V2008

    - 理解防火墙规则(如iptables或firewalld),进行端口转发和访问控制。 6. **文件系统与挂载** - 学习EXT3、EXT4、XFS等Linux常见文件系统类型及其特性。 - 理解挂载点的概念,如何添加、修改和卸载挂载点,...

    vbird_Linux(大鸟学Linux)

    2. 用户管理:添加、删除和修改用户,以及用户组的管理。 3. 文件所有权:chown和chgrp命令的使用,改变文件或目录的所有者和组。 五、软件包管理 1. 包管理器:介绍yum(RPM系统)和apt(Debian系)的使用,用于...

Global site tag (gtag.js) - Google Analytics