• 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 0
     # reboot
    配置iptables
    首先查看当前的规则:
    [root@DDAN ~]# 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
    查看添加的规则
    [root@DDAN ~]# iptables -L --line-number -n
    Chain INPUT (policy ACCEPT)
    num  target     prot opt source               destination
    1    ACCEPT     all  --  0.0.0.0/0            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完全删除规则

    ==============================

  • 相关阅读:
    JavaScript之作用域和闭包
    mui.openWindow的html5+和web传参的兼容
    HTML5地理定位-Geolocation API
    wepy 编译警告去除办法
    Angular网络请求的封装
    网页资源加载的优化方法
    小DEMO之manifest初体验
    HDU 2846 Repository (字典树 后缀建树)
    mongodb适用和不适用的应用场景
    Codeforces 240E. Road Repairs 最小树形图+输出路径
  • 原文地址:https://www.cnblogs.com/zakun/p/5972063.html
Copyright © 2020-2023  润新知