Linux 网络访问控制
来源:互联网 发布:java web start 1.4.2 编辑:程序博客网 时间:2024/06/05 15:19
网络访问控制: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
- Linux 网络访问控制
- iptables网络访问控制
- Linux控制文件访问
- Android app网络访问控制
- iptables控制Linux端口访问
- Linux安全访问控制模型
- Linux文件系统访问控制列表
- linux文件的访问控制
- Linux ACL访问控制权限
- 哪种最适合?网络访问控制全解
- 哪种最适合?网络访问控制全解
- 思科模拟器之网络访问控制
- 外网访问控制网络备忘
- android平台利用iptables控制网络访问
- 用访问控制列表实现网络单向访问
- ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
- ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
- Linux下访问网络文件系统
- Android中的子线程 和 组件service 区别。
- java实现有序数组
- [Java基础] 使用JMAP dump及分析dump文件
- Android BLE蓝牙4.0
- 笔记(RemoveAll;DataGridView用linq查询;动态添加控件时闪烁问题)
- Linux 网络访问控制
- php实现发送微信模板消息的方法
- greenDao 3.x遇到数据库升级,且表结构中添加int类型字段问题。
- 修改包名
- Log4j从入门到详解
- Java虚拟机学习笔记
- 【qscoj】喵哈哈村的魔法源泉(2)(快速加)
- UGUI scrollView基本操作
- PHP数据库连接mysql与mysqli的区别与用法