Linux iptables设置

先举例子说明,若服务器网卡:

eth0 10.10.0.100

eth0:0 10.10.0.200

eth0:1 10.10.0.201

eth0:2 10.10.0.202

只允许10.10.0.100的IP启用80端口

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

需要关闭10.10.0.100的80端口,其他ip的80端口都需要打开

iptables -A INPUT -i eth0 -d 10.10.0.100 -p tcp --dport 80 -j DROP

只允许 10.10.0.100 访问本机的80端口

iptables -I INPUT -p TCP –dport 80 -j DROP

iptables -I INPUT -s 10.10.0.80 -p TCP –dport 80 -j ACCEPT

禁用80端口

iptables -I INPUT -p tcp --dport 80 -j DROP

打开80端口

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

理论详解:

INPUT 链 – 处理来自外部的数据。
OUTPUT 链 – 处理向外发送的数据。
FORWARD 链 – 将数据转发到本机的其他网卡设备上。
保存现有的规则:
iptables-save > /etc/iptables.rules
然后新建一个 bash 脚本,并保存到 /etc/network/if-pre-up.d/ 目录下:
#!/bin/bash
iptables-restore < /etc/iptables.rules
这样,每次系统重启后 iptables 规则都会被自动加载。

描述规则的基本参数
-p 协议(protocol)
指定规则的协议,如 tcp, udp, icmp 等,可以使用 all 来指定所有协议。
如果不指定 -p 参数,则默认是 all 值。这并不明智,请总是明确指定协议名称。
可以使用协议名 (如 tcp),或者是协议值(比如 6 代表 tcp)来指定协议。映射关系请查看 /etc/protocols
还可以使用–protocol 参数代替 -p 参数
-s 源地址(source)
指定数据包的源地址
参数可以使 IP 地址、网络地址、主机名
例如:-s 192.168.1.101 指定 IP 地址
例如:-s 192.168.1.10/24 指定网络地址
如果不指定 -s 参数,就代表所有地址
还可以使用–src 或者–source
-d 目的地址(destination)
指定目的地址
参数和 -s 相同
还可以使用–dst 或者–destination
-j 执行目标(jump to target)
-j 代表 ”jump to target”
-j 指定了当与规则 (Rule) 匹配时如何处理数据包
可能的值是 ACCEPT, DROP, QUEUE, RETURN
还可以指定其他链(Chain)作为目标
-i 输入接口(input interface)
-i 代表输入接口 (input interface)
-i 指定了要处理来自哪个接口的数据包
这些数据包即将进入 INPUT, FORWARD, PREROUTE 链
例如:-i eth0 指定了要处理经由 eth0 进入的数据包
如果不指定 -i 参数,那么将处理进入所有接口的数据包
如果出现! -i eth0,那么将处理所有经由 eth0 以外的接口进入的数据包
如果出现 -i eth+,那么将处理所有经由 eth 开头的接口进入的数据包
还可以使用–in-interface 参数
-o 输出(out interface)
-o 代表 ”output interface”
-o 指定了数据包由哪个接口输出
这些数据包即将进入 FORWARD, OUTPUT, POSTROUTING 链
如果不指定 -o 选项,那么系统上的所有接口都可以作为输出接口
如果出现! -o eth0,那么将从 eth0 以外的接口输出
如果出现 -i eth+,那么将仅从 eth 开头的接口输出
还可以使用–out-interface 参数

Iptables 命令格式

Iptables过滤条件

参考链接:

http://segmentfault.com/a/1190000002540601

http://www.cnblogs.com/metoy/p/4320813.html

时间: 2024-10-03 05:46:13

Linux iptables设置的相关文章

Linux iptables常用命令

iptables 是 Linux 中重要的访问控制手段,是俗称的 Linux 防火墙系统的重要组成部分.这里记录了iptables 防火墙规则的一些常用的操作指令. 下面的操作以 CentOS 为基础介绍,应该对不同的 Linux 发行版都差不多.在 CentOS 5.x 和 6.x 中,iptables 是默认安装的(如果没有安装,先安装 iptables 即可).如果对 iptables 的工作流程不太了解,可以先读读这篇 iptables 工作流程的通俗理解. 内容目录 基本操作 查看 i

Linux iptables:场景实战一

<Linux iptables:规则原理和基础>和<Linux iptables:规则组成>介绍了iptables的基础及iptables规则的组成,本篇通过实际操作进行iptables应用场景的实际演示. 防火墙设置策略 防火墙的设置策略一般分为两种,一种叫“通”策略,一种叫“堵”策略: 通策略,默认所有数据包是不允许通过的,对于允许的数据包定义规则. 堵策略则是,默认所有数据包是全部允许通过的,对于要拒绝的数据包定义规则. 一般来说服务器的防火墙设置都是采用第一种策略,安全性更

Linux iptables:规则组成

<Linux iptables:规则原理和基础>介绍了iptables的四表五链,简单说就是不同的网络层数据包会经过哪几个挂载点,在每个挂载点可以在哪张表进行规则定义. 本篇沿着这个思路,更具体的介绍一条iptables规则的组成. Linux iptables:规则组成 这是iptables一条规则的基本组成,也是iptables定义规则的命令格式: 第一列是iptables命令: 第二列指定规则所在的表,常用的是nat和filter表: 第三列是命令,常用命令如下: -A 在指定链的末尾添

Zabbix监控Linux主机设置

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

centos 6.4 修改ssh默认端口22为其他端口详尽安全教程(包含SELinux,iptables设置)

该教程是目前最安全的教程,如果你是新手请严格按照教程的步骤进行,如果是有一定基础的人可以选择性跳过某些段落 修改端口配置 先运行 vim /etc/ssh/sshd_config 找到#Port 22 这行然后去掉前面的注释,然后再下面加一行 Port 1234 Port 22 Port 1234 很多教程是直接修改22为其他端口,最好不要这样做,万一修改的端口不能用,你就完全登陆不上了,所以先留一条后路 修改防火墙配置 修改iptables(linux 的防火墙)文件: vim /etc/sy

Linux iptables防火墙添加删除端口

一.  Linux 防火墙的启动和关闭1.1 启动命令[[email protected] ~]# service iptables stopFlushing firewall rules:                                   [  OK  ]Setting chains to policy ACCEPT: filter nat                [  OK  ]Unloading iptables modules:                  

linux下设置ip地址 gw网关,dns的方法

本文介绍下,在linux中设置IP地址.网关.dns的方法,有需要的朋友作个参考吧. 设置linux网络的方法有两种:第一种:使用命令修改(直接即时生效) 复制代码代码示例: ip and netmask:# ifconfig eth0 192.168.30.197 netmask 255.255.255.0gateway:# route add default gw 192.168.30.1 eth0 dns:# vi etc/resolv.confnameserver 202.131.80.

iptables设置用法

1.安装iptables防火墙 怎么知道系统是否安装了iptables?执行一下iptables -V,如果现实版本信息那说明已经安装了. 反之则需要安装,执行命令: yum install iptables 在linux中设置防火墙,以CentOS为例,打开iptables的配置文件: vim /etc/sysconfig/iptables 通过 /etc/init.d/iptables status 命令查询是否有打开80端口,如果没有可通过两种方式处理 1.修改vim /etc/sysco

linux iptables常用命令之配置生产环境iptables及优化

在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 第一步:清空当前的所有规则和计数 iptables -F #清空所有的防火墙规则 iptables -X #删除用户自定义的空链 iptables -Z #清空计数 第二步:配置允许ssh端口连接 iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport