iptables笔记

一、内核转发

*永久开启转发

sysctl -w net.ipv4.ip_forward=1

*查看当前

cat /proc/sys/net/ipv4/ip_forward

*

暂时开启

echo 1 > /proc/sys/net/ipv4/ip_forward

二、规则相关

所谓规则是由 “匹配条件” + “执行动作” 组成,匹配条件主要是用于选择需要进行处理的数据包,

当一个数据包满足“匹配条件”时,linux会对该数据包“执行动作”。

常使用的表:nat、filter,顾名思义,nat表主要用于NAT;filter用于过滤数据包。

nat表中又包括了PREROUTING、OUTPUT、POSRTROUTING三个链,而filter表包括了INPUT、OUTPUT、FORWARD三个链。

1,查看规则

iptables -t nat -L [OUTPUT / POSTROUTING / PREROUTING] [—line-number] [-n]  #通过-t nat 指定为nat表

iptables           -L [INPUT / OUTPUT / FORWARDING] [—line-number] [-n]              #默认为filter表

2,删除规则 

iptables -t nat -D [OUTPUT / POSTROUTING / PREROUTING]  $number

iptables           -D [INPUT / OUTPUT / FORWARDING]              $number

3,添加规则

iptables -t nat -A [OUTPUT / POSTROUTING / PREROUTING] $规则

iptables           -A [INPUT / OUTPUT / FORWARDING]             $规则

4,更改默认策略

iptables -P INPUT DROP

-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参数

+++++++++++++++++++++++++++++++++++++++++++++++++++

–-sport 源端口(source port)针对 -p tcp 或者 -p udp

  • 缺省情况下,将匹配所有端口
  • 可以指定端口号或者端口名称,例如”–sport 22″与”–sport ssh”。
  • /etc/services文件描述了上述映射关系。
  • 从性能上讲,使用端口号更好
  • 使用冒号可以匹配端口范围,如”–sport 22:100″
  • 还可以使用”–source-port”

–-dport 目的端口(destination port)针对-p tcp 或者 -p udp

  • 参数和–sport类似
  • 还可以使用”–destination-port”

-–tcp-flags TCP标志针对-p tcp

  • 可以指定由逗号分隔的多个参数
  • 有效值可以是:SYN, ACK, FIN, RST, URG, PSH
  • 可以使用ALL或者NONE

-–icmp-type ICMP类型针对-p icmp

  • –icmp-type 0 表示Echo Reply
  • –icmp-type 8 表示Echo
时间: 2024-12-17 21:49:16

iptables笔记的相关文章

iptables 笔记

工作使用到iptables的NAT地址转换功能:目前找到最好的帮助理解的图: 要实现的功能是,PC1通过Server访问内网PC2的8180端口提供的服务: 一.开启Server的ip_forward功能 sudo vim /etc/sysctl.conf 开启 net.ipv4.ip_forward=1 配置项 启用配置 sysctl -p 验证之 cat /proc/sys/net/ipv4/ip_forward (1为启用,0为关闭) 二.规则 iptables -t nat -A PRE

CentOS 7安装配置iptables笔记

1.关闭firewall #停止firewall systemctl stop firewall.service #禁止firewall开机启动 systemctl disable firewall.service 2.安装iptables #安装iptables yum install iptables-services -y #编辑防火墙文件 vi /etc/sysconfig/iptables 添加80和3306端口 -A INPUT -m state –state NEW -m tcp

【linux工具之iptables】

iptables 原理 iptables官网 iptables 配置手册1 iptables 配置手册2 iptables 笔记 netfilter/iptables全攻略 <--推荐

iptables防火墙使用笔记

一.背景 每次WEB项目上线时总是要安装环境,其中免不了配置防火墙来允许外网访问.之前都是网上找教程比葫芦画瓢把开启80端口命令敲一下就不管了.本着学习的精神,今天打算好好研究一下iptables配置,并作笔记以便之后查看.只求明白即可,具体深入原理啥的就算了. 注:centos7默认防火墙改为firewall而非iptables. 二.快速搞定  iptables -I INPUT -p tcp --dport 80 -j ACCEPT 如果不想往下看的话,基本上只需记下这条命令就可以开启80

【整理笔记-防火墙】实现iptables防火墙搭建

搭建防火墙,配置防火墙. - - 系统centos7 . centos7自带firewalld,由于看firewalld命令行没有接触过,所以安装iptables防火墙. 1:禁用firewalld firewall-cmd --state 查看系统自带防火墙状态. 用systemctl stop firewalld.service   禁止立即生效, systemctl disable firewalld.service  永久关闭firewalld.执行完再看一下防火墙状态, 显示为not

iptables基础笔记

1.iptables是什么 iptables是Linux上的一支防火墙服务程序,且由内核直接提供 2.iptables的基本工作方式 iptables通过"表"的形式管理进出主机网卡的数据流 默认的"表"有3张,分别为Filter(默认使用),Nat,Manager.我们的需求使用Filter表的情况居多,通过对比数据包头部信息与每张表中的规则,来决定处理数据流是放行还是丢弃. 3.1Filter"表"介绍 Filter是过滤器表,主要与想要进出

Linux学习笔记——iptables浅析

最近总结一些知识点越发吃力了,看来还是知识储备不足,用的不熟啊,还是硬着头皮来吧,争取多写点,毕竟好记性不如烂笔头不是么. 防火墙,就是用于实现Linux下访问控制的功能,它分为硬件的或者软件的防火墙两种.对于TCP/IP的模型来讲,第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测.但是对于七层的防火墙,不管你源端口或者目标端口,源地址或者目标地址是什么,都将对你所有的东西进行检查.所以,对于设计原理来讲,七层防火墙更加安全,但是这却带来了效率更低.市面上通常的防火墙方案,都是两者

iptables学习笔记

1. 压力测试 ab host1 ab -n 100000 -c 40 http://192.168.1.112/ host2 netstat -an|grep 80|grep 192.168.1.114 |grep EST -c w 2. netfilter linux核心层内部的一个数据包处理模块 3. hook point(INPUT OUTPUT FORWARD PREROUTING POSTROUTING) 数据包在netfilter的挂载点 4. iptables 四张表(filte

iptables学习笔记之编译内核和iptables及安装l7proto

            编译内核和iptables及安装l7proto 一.环境介绍 操作系统:Redhat5.8_64bit 需要软件包: linux-2.6.28.10.tar.gz netfilter-layer7-v2.22.tar.gz l7-protocols-2009-05-28.tar.gz iptables-1.4.6.tar.bz2 安装步骤: 1).给内核打补丁,并重新编译内核 2).给iptables源码打补丁,并重新编译iptables 3).安装l7proto 1.给