Linux 网络访问控制[通俗易懂]

Linux 网络访问控制[通俗易懂]网络访问控制

大家好,又见面了,我是你们的朋友全栈君。

网络访问控制:netfilter模块,可以对数据进行允许、丢弃、修改操作
数据包分类:源IP地址、目标IP地址、使用接口、使用协议、端口号、连接状态
过滤点:input、forward、output、prerouting、postrouting
功能点:filter、nat、mangle
这里写图片描述

规则:
iptables的基本语法格式
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]

防火墙处理数据包的四种方式
ACCEPT 允许数据包通过
DROP 直接丢弃数据包,不给任何回应信息
REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息。
LOG 在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则

IPTables配置
最好配置第一条iptables规则为允许来自客户端主机的SSH。
iptables配置文件:/etc/sysconfig/iptables
通过iptables添加的规则不会永久保存。如果需要永久保存,可以执行service iptables save将iptables规则保存在/etc/sysconfig/iptables。
CentOS/RHEL系统会带有默认iptables规则,保存自定义规则会覆盖这些默认规则。

iptables通过规则对数据进行访问控制
一个规则使用一行配置
规则按顺序排列
当收到、发出、转发数据包时,使用规则对数据包进行匹配,按规则顺序进行逐条匹配
数据包按照第一个匹配上的规则执行相关动作:丢弃、放行、修改
没有匹配规则,则使用默认动作(每个chain拥有各自的默认动作)

常用功能:
做为服务器使用:过滤到本机的流量、过滤到本机发出的流量
作为路由器使用:过滤转发的流量、对转发数据的源/目标IP进行修改

基本操作:
列出现有iptables规则:iptables -L
插入一个规则:iptables -I INPUT 3 -p tcp –dport 22 -j ACCEPT
删除一个iptables规则:iptables -D INPUT 3 iptables -D INPUT -s 192.168.1.1 -j DROP
删除所有规则:iptables -F

匹配参数:
基于IP地址:-s 192.168.0.1 -d 192.168.0.2
基于接口:-i eth0 -o eth1
基于协议及端口:-p tcp –dport 22 -p udp –sport 53 -p icmp
取反参数:’l’ -s ‘l’ 192.168.1.1/24

常用NAT:
通过NAT进行跳转:iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-dest 192.168.1.10
通过NAT对出向数据进行跳转:iptables -t nat -A OUTPUT -p tcp –dport 80 -j DNAT –to-dest 192.168.1.10:8080
通过NAT对数据流进行伪装:iptables -t nat -A PREROUTING -o eth0 -j MASQUERADE
通过NAT隐藏源IP地址:iptables -t nat -A PREROUTING -j SNAT –to-source 1.2.3.4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163422.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ES6数组常用方法总结[通俗易懂]

    ES6数组常用方法总结[通俗易懂]这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年6月3日
    46
  • linux 软连接 创建/查看/删除[通俗易懂]

    linux 软连接 创建/查看/删除[通俗易懂]linux软件连接创建/查看/删除1、建立软链接具体用法是:ln-s源文件目标文件。源:实际存放文件的位置当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。-s是代号(symbolic)的意思注意:ln的链接…

    2022年9月26日
    4
  • 一步一步写算法(之 A*算法)

    一步一步写算法(之 A*算法)

    2021年12月4日
    44
  • 推荐一个命名变量的神奇网站 CODELF

    推荐一个命名变量的神奇网站 CODELF推荐一个命名变量的神奇网站CODELF在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站:https://unbug.github.io/codelf/这个网站可以根据你输入的关键词,给出很多变量命名的推荐。并且支持中文。另外,针对各种主流编辑器,还有插件。非常推荐大家收藏一下这个

    2022年5月4日
    228
  • tarball介绍[通俗易懂]

    tarball介绍[通俗易懂]tarball是linux下最方便的打包工具,是以tar这个指令来打包与压缩的档案。"x"选项用于解包"c"选项用于打包"v"选项提供更多

    2022年8月2日
    7
  • eclipse如何使用svn_eclipse中的svn怎么找到

    eclipse如何使用svn_eclipse中的svn怎么找到   插件安装:name:   svn                         url:   http://subclipse.tigris.org/update   svn服务器地址:svn://123.127.105.190/repos  

    2022年9月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号