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配置举例的更多相关文章

  1. iptables基础配置

    启动指令:service iptables start   重启指令:service iptables restart   关闭指令:service iptables stop   规则相关配置:/e ...

  2. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  3. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  4. Linux添加防火墙、iptables的安装和配置(亲测)

    iptables基础 规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”.规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源 ...

  5. Iptables基础整理

    Iptables基础框架

  6. 腾讯云:iptables基础

    iptables 基础 iptables 基本命令 任务时间:5min ~ 10min iptables 可以简单理解为 Linux 系统内核级防火墙 netfilter 的用户态客户端. Linux ...

  7. Ubuntu环境下的iptables的端口转发配置实例

    打开转发开关要让iptables的端口转发生效,首先需要打开转发开关方法一:临时打开,重启后失效$sudo su#echo 1 >/proc/sys/net/ipv4/ip_forward 方法 ...

  8. HTTPS Web配置举例

    http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Representat ...

  9. debian下samba配置

    debian下samba配置  http://blog.chinaunix.net/uid-2282111-id-2113216.html 服务器端配置过程:1. apt-get install sa ...

随机推荐

  1. Go -- 卸载 Go

    直接删除usr下的go文件夹即可 命令行: cd / 1 然后: open usr 1 删除go文件夹

  2. 如何使用apache的 work模式还是 prefork 模式

    注意: 2.4之前版本默认为prefork, 2.4已经变为event模式.三种模式比较: http://www.cnblogs.com/fnng/archive/2012/11/20/2779977 ...

  3. 了解Linux实时内核

    了解Xenomai过程中,对现阶段的RTOS进行总结如下: 把现阶段的RTOS分成两个阵营: 非Linux阵营:VxWorks,RTEMS Linux阵营 :RT-linux,Preempt-rt,W ...

  4. cocos2d-x 2.2.0 图片选中聚焦 ,图片描边 CCClippingNode 实现

    效果例如以下图 左边箭头是x方向翻转的.右边箭头有旋转和缩放action. 大概实现方法:用箭头作为遮罩层,底图是一个绘制的矩形,得到一个黄色箭头背景.在用schedule尾随要聚焦箭头动作.这个 ...

  5. ElasticSearch的按日期排序问题

    ES中有一个sort域,类型为date,格式是: yyyy-MM-dd HH:mm:ss 但是,在实际应用中,想仅仅按yyyy-MM-dd排序.我的处理过程是,用es的script,提取出日期,然后按 ...

  6. MySQL MID()函数用法

    SQL MID() 函数用于得到一个字符串的一部分.这个函数被MySQL支持,但不被MS SQL Server和Oracle支持.在SQL Server, Oracle 数据库中,我们可以使用 SQL ...

  7. 【温故知新】—— React/Redux/React-router4基础知识&独立团Demo

    前言:React专注View层,一切皆组件:全部使用ES6语法,最新版本为React16. Redux是专注于状态管理的库,和react解耦:单一状态,单向数据流.[独立团github地址] 一.Re ...

  8. 【共享单车】—— React后台管理系统开发手记:城市管理和订单管理

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  9. osx中Grapher的使用

    Grapher 是一个可创建方程图形的应用程序,因此您能够使结果可视化.您能够输入各种数学函数,以二维和三维图形方式查看它们. 您甚至能够让图形动起来.用图形制作影片文件. 打开osx中的Graphe ...

  10. poj 2506 Tiling(java解法)

    题目链接:id=2506">http://poj.org/problem?id=2506 本题用的java解的.由于涉及到大数问题,假设对java中的大数操作不熟悉请点这儿:链接 思路 ...