美文网首页
Debian配置iptables

Debian配置iptables

作者: njim3 | 来源:发表于2018-08-07 23:15 被阅读896次

    前言

    iptables在Linux发行版本如Centos、Debian、Ubuntu、Redhat等的配置内容基本一致,但是配置方式有所不同。由于工作日常用的是Centos 6.x,它的配置较简单。下面对Debian上配置iptables做一个说明。

    配置过程

    环境要求

    一台Debian 6.x/7.x及以上版本的机器
    登录用户名/密码

    配置步骤

    1. 使用用户名/密码登录系统
    root@localhost:~# 
    
    1. 安装iptables
    root@localhost:~# apt-get install iptables
    
    1. 安装成功后查看iptables端口开放情况
    root@localhost:~# iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination         
    root@localhost:~#
    

    INPUT、FORWARD和OUTPUT链中均没有内容,说明此时iptables是空的,没有进行任何配置。

    1. 配置iptables
      (1)编辑iptables.test.rules,保存其配置
    root@localhost:~# vi /etc/iptables.test.rules
    //  内容如下
    # Generated by iptables-save
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -I INPUT -p tcp --dport 8888 -j ACCEPT
    -I INPUT -p udp --dport 8888 -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed
    

    上述是一个模板,可以根据需求进行修改。如上开放了tcp22端口,以及8888的tcp和udp端口。
    (2)加载iptables.test.rules规则,并查看

    root@localhost:/home# iptables-resotre < /etc/iptables.test.rules
    root@localhost:/home# iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    ACCEPT     udp  --  anywhere             anywhere             udp dpt:8888
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:8888
    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
    ACCEPT     icmp --  anywhere             anywhere            
    ACCEPT     all  --  anywhere             anywhere            
    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination         
    root@localhost:/home#
    

    (3)设置开机启动

    root@localhost:/home# vi /etc/network/if-pre-up.d/iptables
    // 内容如下
    #!/bin/bash
    /sbin/iptables-restore < /etc/iptables.test.rules
    root@localhost:/home# chmod +x /etc/network/if-pre-up.d/iptables
    

    (4)重启查看是否开机加载

    root@localhost:/home# reboot
    root@localhost:~# iptables -L
    

    结束语

    按照上述步骤进行配置,可以实现开机加载iptables规则。如果发生问题,多配置几遍就可以。Centos的配置主要在/etc/sysconfig/iptables进行配置,然后使用chkconfig开启开机启动即可。在实际的运维需求中,可以根据应用系统情况,合理的开放端口。

    相关文章

      网友评论

          本文标题:Debian配置iptables

          本文链接:https://www.haomeiwen.com/subject/yqpzvftx.html