iptables官方手册整理

2024-09-01 07:32
文章标签 整理 手册 官方 iptables

本文主要是介绍iptables官方手册整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 简介
2. 首先,什么是包过滤?
3. 快速入门指南
4. 数据包过滤流程
5. 具体如何使用 Iptables 命令实现过滤功能
6. 地址转换(NAT)
7. 排除建议
1. 简介

 


————————————————————————————————————————————————
读者们,大家好:
  在这里我们假设你已经有一定的 IP 地址、网络地址、子网掩码、路由、DNS 基础知识。如果没有建议你先阅读一下官网的 networking-concepts-HOWTO 文档。官网地址为:www.netfilter.org
  当前我们的网络是不安全的。但问题是我们做网络限制,同时还需要提供快速、便利的网络通讯环境,而不是处于邪恶的目的。网络限制是一把双刃刀,但本文章并非解决这个问题。
  所以刀在手如何使用完全取决于你。我相信你会把这些工具用到合理的地方,并能很好地使用这些工具。而不是用于其他目的。
------------------------------------------------------------------------------------------------
2. 首先,什么是包过滤?

  包过滤是当一个数据包通过时,使用软件去查看包头信息并决定对该包的处理方式。你可以丢弃该数据包、接受该数据包亦或是其他更复杂的处理方式。
  在 Linux 中包过滤已经集成到内核中了,甚至还可以做一些数据包欺骗,但基本原则还是查看数据包头并决定处理方式。
------------------------------------------------------------------------------------------------
2.1 为什么我们需要包过滤?
  可控性、安全性、可监控性
  可控性:当你在局域网中使用 Linux 连接另一个网络时(如:互联网),你可以允许或拒绝特定类型的数据。例如:数据包都会包含目标地址,这样你就可以防止数据包进入某个特定的网络。再举个例子,我使用浏览器访问某个网站,在该网站上全是广告,此时浏览器会浪费我的时间去下载这些广告信息。这时我可以告知包过滤工具不允许该网站的数据包通过以解决这个问题。
  安全性:当你的 Linux 主机是复杂的互联网与有序的局域网之间的唯一主机时,你可以通过数据包限制让该 Linux 主机成为局域网与互联网之间的安全大门!比如:你可以会想允许所有的数据包进入互联网,但你会对从外网进来的死亡之 ping 感到忧虑。再如,你可能不希望有人可以 telnet 连接你的 Linux 主机,即使对方有密码也不可以。简单而言就是通过包过滤工具拒绝外网部分数据包进入本地。
  可监控性:当有些不正常的数据流量出现时,包过滤工具可以及时通知你是非常不错的注意!

 


------------------------------------------------------------------------------------------------
2.2 Linux 系统如何过滤数据包
  Linux 内核从 1.1 开始就已经有包过滤功能。第一代产品是 1994 年诞生于 BSD 系统的 ipfw。Linux2.0 增强了该功能;用户可以使用 ipfwadm 控制内核过滤规则。Linux2.2 是用户工具变更为 ipchains。最后在 Linux2.4 中用户工具被重写,新的工具为 iptables。
  你需要一个支持 netfilter 架构的 Linux 内核:netfilter 是在内核中的过滤架构,而且该架构可以使用插件动态加载。
  Linux 防火墙主要包括两个部分:一部分为 netfilter 是内核过滤的基础架构,一部分为 iptables 是用户工具,用来编辑具体的过滤规则提供给内核 netfilter。
  IPTABLES:该工具可以添加删除具体的过滤规则至内核包过滤表。这也意味着无论你如何设置防火墙规则,一旦机器重启所有的规则将丢失。
  永久保存规则:你设置的防火墙规则被保存在内核中,但重启会丢失。你可以使用 iptables-save 和 iptables-restore 脚本实现永久保存与恢复。
  备注:Linux 防火墙所有的规则被保存在表中,默认 Iptables 防火墙有 4 个表:filter 表(实现过滤功能),nat 表(实现地址转换功能), mangle 表(修改数据包的 TOS、TTL 等信息),raw 表(实现数据包跟踪功能)

这篇关于iptables官方手册整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1126318

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

JavaScript整理笔记

JavaScript笔记 JavaScriptJavaScript简介快速入门JavaScript用法基础语法注释关键字显示数据输出innerHTML innerText属性返回值的区别调试 数据类型和变量数据类型数字(Number)字符串(String)布尔值(Boolean)null(空值)和undefined(未定义)数组(Array)对象(Object)函数(Function) 变量

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads

Temu官方宣导务必将所有的点位材料进行检测-RSL资质检测

关于饰品类产品合规问题宣导: 产品法规RSL要求 RSL测试是根据REACH法规及附录17的要求进行测试。REACH法规是欧洲一项重要的法规,其中包含许多对化学物质进行限制的规定和高度关注物质。 为了确保珠宝首饰的安全性,欧盟REACH法规规定,珠宝首饰上架各大电商平台前必须进行RSLReport(欧盟禁限用化学物质检测报告)资质认证,以确保产品不含对人体有害的化学物质。 RSL-铅,

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新

linux dlopen手册翻译

名称 dlclose, dlopen, dlmopen 打开和关闭一个共享对象 简介 #include <dlfcn.h>void *dlopen(const char*filename, int flags);int dlclose(void *handle);#define _GNU_SOURCE#include <dlfcn.h>void *dlmoopen(Lmid_t lm