iptables基础及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
# reboot
配置iptables
首先查看当前的规则:
[root@DDAN ~]# iptables -L --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere
添加规则以启用samba所使用的端口
经查看,要添加到8号规则的前面,否则samba不起作用:
iptables -I INPUT -p udp -m multiport --dport , -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m multiport --dport , -j ACCEPT
查看添加的规则
[root@DDAN ~]# iptables -L --line-number -n
Chain INPUT (policy ACCEPT)
num target prot opt source destination
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ tcp dpt:
ACCEPT udp -- 0.0.0.0/ 0.0.0.0/ udp dpt:
ACCEPT all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW multiport dports ,
ACCEPT udp -- 0.0.0.0/ 0.0.0.0/ multiport dports ,
DROP all -- 0.0.0.0/ 0.0.0.0/
保存当前规则并启用samba:
#保存规则
service iptables save
#启用smb:
service smb restart
#使smb随机器启动
chkconfig smb on
也可以使用iptables -F完全删除规则
==============================
iptables基础及samba配置举例的更多相关文章
- iptables基础配置
启动指令:service iptables start 重启指令:service iptables restart 关闭指令:service iptables stop 规则相关配置:/e ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Linux添加防火墙、iptables的安装和配置(亲测)
iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源 ...
- Iptables基础整理
Iptables基础框架
- 腾讯云:iptables基础
iptables 基础 iptables 基本命令 任务时间:5min ~ 10min iptables 可以简单理解为 Linux 系统内核级防火墙 netfilter 的用户态客户端. Linux ...
- Ubuntu环境下的iptables的端口转发配置实例
打开转发开关要让iptables的端口转发生效,首先需要打开转发开关方法一:临时打开,重启后失效$sudo su#echo 1 >/proc/sys/net/ipv4/ip_forward 方法 ...
- HTTPS Web配置举例
http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Representat ...
- debian下samba配置
debian下samba配置 http://blog.chinaunix.net/uid-2282111-id-2113216.html 服务器端配置过程:1. apt-get install sa ...
随机推荐
- UVa1347 Tour
/*----UVa1347 ---首相两边方向走不方便,可以看做:两个人同时从最左边出发,沿着两条不同路径走到终点,除了起点和中点外 其他点恰好被走过一遍 ---用dp[i][j]表示1-max(i, ...
- react数组key的唯一性
1.不要使用数组的index索引作为key 2.在相邻的元素间,一定确保key的唯一性,如果出现了相同的 key,会抛出一个 Warning,告诉相邻组件间有重复的 key 值.并且只会渲染第一个重复 ...
- 《深入理解Linux内核》软中断/tasklet/工作队列
软中断.tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来.下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任 ...
- functor
I thought it would be easy and convenient to define a small functor and perform a customized sort on ...
- android中非堵塞socket通信
1.什么是同步与异步,堵塞与非堵塞 首先我们要明确搞明确:同步就等于堵塞?异步就等于非堵塞?这是不正确的,同步不等于阻 塞.而异步也不等于非堵塞. 1)那什么是同步编程? 什么是同步,就是在发出一个功 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_结构体
在DUTs文件夹上右击添加结构体,结构体中可以放基本变量类型,也可以嵌套其他结构体 使用的时候,需要声明结构体的实例,然后按照类.属性的格式来读写变量,会有代码的自动提示 你也可以声明数组,类 ...
- 两种“新型”的javaweb后门(jspx和Java Logger)
利用这个可以突破st2下 强制jsp跳转login.jsp 利用jspx解决jsp后缀被限制拿shell - Hack Blog | 黑客博客http://www.hackblog.cn/post ...
- @property和@x.setter和@x.deleter表示可读可写可删除
@property可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/deleter也是需要的.1>只有@property表示只读.2>同时有@ ...
- C4:原型模式 Prototype
用原型实例指定创建对象的种类,并且拷贝这些原型创建新的对象.应用场景: A.用new创建对象通常有较为复杂的数据准备或权限准备B.对象较大,拷贝对象可以节省内存 UML图: class WorkExp ...
- MySQL的查询,子查询,联结查询,联合查询
MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 二 ...