iptables路由转换
iptables使用
- iptables简介
- iptables路由表
- 表(功能)<—— ——>链(钩子)
- 处理动作(target)
- iptables的帮助信息
- iptables路由转发
- iptables端口转发
iptables简介
iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个"安全框架"才是真正的防火墙,这个框架的名字叫netfilter
netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间。
iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。
netfilter/iptables(下文中简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能:
网络地址转换(Network Address Translate)
数据包内容修改
以及数据包过滤的防火墙功能
所以说,虽然我们使用service iptables start启动iptables"服务",但是其实准确的来说,iptables并没有一个守护进程,所以并不能算是真正意义上的服务,而应该算是内核提供的功能
iptables路由表
我们自定义的所有规则,都是这四种分类中的规则,所有规则都存在于这4张“表”中
- filter表 ,负责过滤功能,防火墙;内核模块:iptables_filter
- nat表 network address translation,网络地址转换功能;内核模块:iptable_nat
- mangle表 拆解报文,做出修改,并重新封装的功能;内核模块:iptable_mangle
- raw表 关闭nat表上启用的连接追踪机制;内核模块:iptable_raw
表(功能)<—— ——>链(钩子)
filter表中的规则可以被链:INPUT,FORWARD,OUTPUT 使用
nat表中的规则可以被链:PREROUTING,OUTPUT,POSTROUTING,INPUT 使用
mangle表中的规则可以被链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 使用
raw表中的规则可以被链:PREROUTING,OUTPUT使用
处理动作(target)
ACCEPT:允许数据包通过
DROP:直接丢弃数据包,不给任何回应信息
REJECT:拒绝数据包通过,必要时会给数据端发送一个响应的信息,客户端刚请求就会收到拒绝的信息
SNAT:源地址转换,解决内网用户用同一个公网地址上网的问题
MASQUERADE:是SNAT的一种特殊形式,适用于动态的,临时会变的IP上
DNAT:目标地址转换
REDIRECT:在本机做端口映射
LOG:在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则,也就是说除了记录以外不对数据包做任何其他操作,任然让下一天规则去匹配
iptables的帮助信息
Usage: iptables -[AD] chain rule-specification [options]
iptables -I chain [rulenum] rule-specification [options]
iptables -R chain rulenum rule-specification [options]
iptables -D chain rulenum [options]
iptables -[LS] [chain [rulenum]] [options]
iptables -[FZ] [chain] [options]
iptables -[NX] chain
iptables -E old-chain-name new-chain-name
iptables -P chain target [options]
iptables -h (print this help information)
指令Commands:
Either long(单词,以 – 做前导) or short(字母,区分大小写,以 - 做前导) options are allowed.
–append -A chain Append to chain
–delete -D chain Delete matching rule from chain
–delete -D chain rulenum
Delete rule rulenum (1 = first) from chain
–insert -I chain [rulenum]
Insert in chain as rulenum (default 1=first)
–replace -R chain rulenum
Replace rule rulenum (1 = first) in chain
–list -L [chain [rulenum]]
List the rules in a chain or all chains
–list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
–flush -F [chain] Delete all rules in chain or all chains
–zero -Z [chain [rulenum]]
Zero counters in chain or all chains
–new -N chain Create a new user-defined chain
–delete-chain
-X [chain] Delete a user-defined chain
–policy -P chain target
Change policy on chain to target
–rename-chain
-E old-chain new-chain
Change chain name, (moving any references)
参数(选项)Options:
[!] --proto -p proto protocol: by number or name, eg. `tcp’
[!] --source -s address[/mask][…]
source specification
[!] --destination -d address[/mask][…]
destination specification
[!] --in-interface -i input name[+]
network interface name ([+] for wildcard)
–jump -j target
target for rule (may load target extension)
–goto -g chain
jump to chain with no return
–match -m match
iptables路由转发
需要转发的主机修改网关为路由转换主机IP地址
network:version: 2renderer: networkdethernets:eno1:addresses: [10.1.65.100/16]gateway4: 10.1.65.49 #此处修改路由主机IP地址nameservers:addresses: [10.1.1.1, 223.5.5.5]
]# echo ‘net.ipv4.ip_forward = 1’ >> /etc/sysctl.conf
]# sysctl -p
net.ipv4.ip_forward = 1
]# iptables -t nat -A POSTROUTING -o 外网网卡 -s 内网IP -j SNAT --to 外网IP地址
]# netplay apply
iptables端口转发
]# iptables -t nat -A PREROUTING -p tcp --dport 8090 -j DNAT --to-destination 192.168.1.10:8080#8090为转发后目标主机的代理端口#192.168.1.10:8080为需要转发的端口
]# iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 8080 -j SNAT --to-source 192.168.1.20#192.168.1.20为代理主机IP地址
iptables路由转换相关推荐
- AEAI ESB路由转换机制说明
1. 背景概述 相信了解数通畅联的人对AEAI ESB并不陌生,其设计器ESBDesigner中内置组件有:路由和转换.数据适配器.协议适配器.协议接入适配器等4类组件,每类组件下面包含各种类型的组件 ...
- android pppd流程,一种基于PPPD实现PPP‑Server功能的通信模块及其实现方法与流程...
本发明涉及计算机通信 技术领域: ,具体涉及一种基于PPPD实现PPP-Server功能的通信模块及其实现方法. 背景技术: :在网络通信 技术领域: 中,通常采用以下方式进行通信:如4G数据模块多采 ...
- 路由及iptables学习笔记
启动linux路由功能 echo "echo 1 >/proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local 或者 ...
- iptables nat实验_【零基础学云计算】LVS负载均衡群集之NAT模式搭建 (实践篇)...
实验原理图 实验环境 LVS调度器作为web服务器池的网关 LVS服务器配置两块网卡分别连接内外网 使用轮询(rr)调度算法 LVS负载调度器网段规划 内网33网关:192.168.144.1 外网3 ...
- iptables学习笔记:端口转发之“内网访问外网”
我们一般使用路由上网,本机IP是内网私有IP,如192.168.1.100/24,而不是公网IP.至于能上网,是因为路由器已经做了转发.本文以实例介绍地址转换,实现内网设备与外部网络通信.有了前文的介 ...
- iptables 防火墙中的SNAT和DNAT
目录 前言 一.SNAT策略 1.1 SNAT应用环境 1.2 SNAT原理 1.3 SNAT转换前提条件 1.4 SNAT转换流程 1.4 SNAT 应用 1.4.1 临时打开 1.4.2 永久打开 ...
- 鸟哥的Linux私房菜(服务器)- 第八章、路由观念与路由器设定
第八章.路由观念与路由器设定 最近更新日期:2011/07/22 如果说 IP 是门牌,那么邮差如何走到你家就是『路由』的功能啦!局域网络如果想成是条巷子,那么路由器就是那间巷子内的邮局! 其实本章应 ...
- 第八章、路由观念与路由器设定
如果说 IP 是门牌,那么邮差如何走到你家就是『路由』的功能啦!局域网络如果想成是条巷子,那么路由器就是那间巷子内的邮局! 其实本章应该是第二章网络基础的延伸,将网络的设定延伸到整个区网的路由器上而已 ...
- iptables应用大全
iptables四表五链: 1."四表"是指 iptables 的功能 --filter 表(过滤规则表):控制数据包是否允许进出及转发 --nat 表(地址转换规则表):控制数据 ...
最新文章
- C#程序设计语言Version2.0简介
- STM32-内存管理
- 系统进程间的同步机制
- 创业-程序员独自5大思维障碍
- Codeforces Round #114 (Div. 1) A. Wizards and Trolleybuses 物理题
- 前端错误日志收集方案
- VCL组件之TPanel
- 学习 服务器部署 hello world
- 新手产品经理怎样去选择一款原型工具
- 1.Ubuntu Server下搭建LAMP环境
- 一个简单例子理解连表查询
- google 手机号码校验库libphonenumber
- latex中文简历,硕博士找工作实习用,顶级简约简历
- c语言库函数总结----ctype.h库
- 混淆电路的优化:PP、Free XOR、GRR
- html书签制作方法图片大全,简单纸书签的折法 纸书签制作方法步骤图
- [乡土民间故事_徐苟三传奇]第四回_张员外受骗摔新锅
- 固定资产模块-12月末结账提示制单业务未完成
- 盗版xp成功验证成正版,享受正版增值服务!(转)
- C语言 将一个字符串转换为字符,每两个字符间用空格隔开
热门文章
- 大地坐标系转换地心坐标系
- 软件测试工作学习必备指南——硬实力
- Java字节码角度分析方法调用 ——提升硬实力7
- canvas实现2019最酷炫3D特效
- 七月三日服务器维护,7月3日全部服务器更新维护公告
- rm命令删除特定文件或目录或不删除特定文件或目录
- Continous Integration.Continous Development,Continous Delivery之间的关系
- C语言求1到100的和
- 使用rpc(thrift或protobuf)进行前后端交互的若干种方式
- STM32 利用cubemx配置正点原子4.3寸TFT-LCD 驱动芯片NT35510