当前位置:网站首页>iptables基础及Samba配置举例
iptables基础及Samba配置举例
2022-07-04 12:34:00 【星哥玩云】
- iptable基本概念
- Iptables表链规则
- iptables传输数据包的过程
- iptables命令格式
- iptables常用选项OPTIONS解释
- 常用命令COMMANDS解释
- 常用参数PARAMETERS解释
- 使用MATCH EXTENSIONS扩展模块
- 其他
- 举例搭建samba服务器
iptable基本概念
iptables防火墙包含两部分,即位于用户空间的iptables模块和位于内核空间netfilter模块。用户空间模块提供插入、修改和除去包过滤表中规则,内核模块进行实际的过滤,所以更准确的名称应该是 iptables/netfilter。
- 表(tables):提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。
- 规则(rules):其实就是网络管理员预定义的条件。
- 链(chains):是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。共5个链,即INPUT、OUTPUT、FORWARD、PREROUTING和POSTROUTING。
Iptables表、链、规则:
iptables传输数据包的过程
iptables命令格式
iptables常用选项OPTIONS解释
常用命令COMMANDS解释:
- -A, –append chain:增加一条规则到链的末端
- -D, –delete chain: 删除一条规则
- -I, –insert chain [rulenum]:以给定的rule编号,在选定的链上插入规则
- -R, –replace chain rulenum:替换某条规则
- -L, –list [chain]:查看指定表和指定链的规则列表
- -F, –flush [chain]:删除[指定]表中所有规则
常用参数PARAMETERS解释:
- -p 协议类型:可以指定规则应用的协议,即TCP、UDP和ICMP等
- -s 源地址:地址可以是hostname,也可以是IP等
- -d 目标IP地址
- -j 动作
- –line-numbers:和-L一起使用,显示规则的rulenum编号
- -n:以数字形式输出IP地址和端口
使用MATCH EXTENSIONS扩展模块
- -m, –match module_name: 启用扩展模块,如state、tcp 、udp、multiport 、string 、addrtype 、mac 等
- iptables -m module_name -h: 查看扩展模块的帮助信息;如:
iptables -m mac -h
其他
- 假如没有 -t 选项,则默认的table为filter表
- 默认的保存在/etc/sysconfig/iptables文件中
- service iptables save:保存更改的iptables
举例搭建samba服务器
配置samba服务器
修改/etc/samba/smb.conf
文件,首先添加要共享的目录:
[workspace] writable = yes path = /root/
如果打算使符号链接也可以访问,则在smb.conf的[global] 部分,添加如下配置:
follow symlinks = yes wide links = yes unix extensions = no
添加samba账户
smbpasswd -a smbpasswd -e
关闭SELinux防火墙
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # setenforce 0 # reboot
配置iptables
首先查看当前的规则:
[[email protected] ~]# iptables -L --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 ACCEPT icmp -- anywhere anywhere 3 ACCEPT tcp -- anywhere anywhere tcp dpt:ssh 4 ACCEPT tcp -- anywhere anywhere tcp dpt:http 5 ACCEPT tcp -- anywhere anywhere tcp dpt:https 6 ACCEPT udp -- anywhere anywhere udp dpt:bootpc 7 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 8 DROP all -- anywhere anywhere
添加规则以启用samba所使用的端口
经查看,要添加到8号规则的前面,否则samba不起作用:
iptables -I INPUT 8 -p udp -m multiport --dport 137,138 -j ACCEPT iptables -I INPUT 8 -p tcp -m state --state NEW -m multiport --dport 139,445 -j ACCEPT
查看添加的规则
[[email protected] ~]# iptables -L --line-number -n Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:68 7 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW multiport dports 139,445 9 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 multiport dports 137,138 10 DROP all -- 0.0.0.0/0 0.0.0.0/0
保存当前规则并启用samba:
#保存规则 service iptables save #启用smb: service smb restart #使smb随机器启动 chkconfig smb on
也可以使用iptables -F
完全删除规则
边栏推荐
- CA:用于移动端的高效坐标注意力机制 | CVPR 2021
- CTF竞赛题解之stm32逆向入门
- Global and Chinese market of cardiac monitoring 2022-2028: Research Report on technology, participants, trends, market size and share
- Jetson TX2 configures common libraries such as tensorflow and pytoch
- Uva536 binary tree reconstruction tree recovery
- Global and Chinese markets of NOx analyzers 2022-2028: Research Report on technology, participants, trends, market size and share
- C language: find the length of string
- BackgroundWorker用法示例
- Jetson TX2配置Tensorflow、Pytorch等常用库
- 记一次 Showing Recent Errors Only Command /bin/sh failed with exit code 1 问题
猜你喜欢
Master the use of auto analyze in data warehouse
AI 绘画极简教程
Etcd 存储,Watch 以及过期机制
8个扩展子包!RecBole推出2.0!
VIM, another program may be editing the same file If this is the solution of the case
记一次 Showing Recent Errors Only Command /bin/sh failed with exit code 1 问题
游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
Play Sanzi chess easily
分布式事务相关概念与理论
C語言函數
随机推荐
Two dimensional code coding theory
Interviewer: what is the difference between redis expiration deletion strategy and memory obsolescence strategy?
Will the concept of "being integrated" become a new inflection point of the information and innovation industry?
golang 设置goproxy代理的小细节,适用于go module下载超时,阿里云镜像go module下载超时
面试官:Redis 过期删除策略和内存淘汰策略有什么区别?
WPF double slider control and forced capture of mouse event focus
美团·阿里关于多模态召回的应用实践
ArgMiner:一个用于对论点挖掘数据集进行处理、增强、训练和推理的 PyTorch 的包
Understand bloomfilter in one article
C language function
认知的定义
Paper notes ACL 2020 improving event detection via open domain trigger knowledge
C语言数组
PostgreSQL 9.1 飞升之路
ISO 27001 Information Security Management System Certification
Show recent errors only command /bin/sh failed with exit code 1
C语言:围圈报号排序问题
17. Memory partition and paging
CANN算子:利用迭代器高效实现Tensor数据切割分块处理
DGraph: 大规模动态图数据集