zoukankan      html  css  js  c++  java
  • ubuntu iptables设置【转】

    root@qustdjx-K42JZ:/home/qustdjx# iptables -L -n
    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    

         

    ubuntu中启动及关闭iptables 

    在ubuntu中由于不存在 /etc/init.d/iptales文件,所以无法使用service等命令来启动iptables,需要用modprobe命令。 

    启动iptables  

    modprobe ip_tables  

    关闭iptables(关闭命令要比启动复杂)  

    iptalbes -F  

    iptables -X  

    iptables -Z  

    iptables -P INPUT ACCEPT  

    iptables -P OUTPUT ACCEPT  

    iptables -P FORWARD ACCEPT  

    modprobe -r ip_tables  

    依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示  FATAL: Module ip_tables is in use.

    使用 ubuntu 已经有两个星期了, 才忽然发现原来一直都没有安装防火墙, 赶紧去找些资料看看, 下面给出我自己的 iptables设置,供和我一样新来的兄弟们参考,水平有限,多多指教。(对于防火墙的设置,有两种策略:一种是全部通讯口都允许使用,只是阻止一些我 们知道的不安全的或者容易被利用的口;另外一种,则是先屏蔽所有的通讯口,而只是允许我们需要使用的通讯端口。这里使用的是第二种原则,如果你需要开启其 他端口,请先参考计算机通讯口说明,然后自己添加。)

    代码:
    #删除原来 iptables 里面已经有的规则
    iptables -F
    iptables -X

    #抛弃所有不符合三种链规则的数据包
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP

    #设置:本地进程 lo 的 INPUT 和 OUTPUT 链接 ; eth1的INPUT链
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -jACCEPT
    iptables -A INPUT -i eth1 -m state --state NEW,INVALID -j LOG
    iptables -A OUTPUT -o lo -j ACCEPT

    #对其他主要允许的端口的 OUTPUT设置:
    # DNS
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 53 -jACCEPT
    iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 53 -jACCEPT

    #HTTP
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 80 -jACCEPT

    #HTTPS
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 443 -jACCEPT

    #Email 接受 和发送
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 110 -jACCEPT
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 25 -jACCEPT

    # FTP 数据和控制
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 20 -jACCEPT
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 21 -jACCEPT

    #DHCP
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 68 -jACCEPT
    iptables -A OUTPUT -o eth1 -p UDP --sport 1024:65535 --dport 68 -jACCEPT

    #POP3S Email安全接收
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 995 -jACCEPT

    时间同步服务器 NTP
    iptables -A OUTPUT -o eth1 -p TCP --sport 1024:65535 --dport 123 -jACCEPT

    #拒绝 eth1 其他剩下的
    iptables -A OUTPUT -o eth1 --match state --state NEW,INVALID -jLOG



    最后是有关于iptables存储的命令:

    代码:
    iptables-save >/etc/iptables.up.rule # 存在你想存的地方
    代码:
    iptables-restore </etc/iptables.up.rules #调用



    因为iptables 在每次机器重新启动以后,需要再次输入或者调用,为了方便操作,使用

    代码:
    sudo gedit /etc/network/interfaces


    代码:
    auto ath0
        iface ath0 inet dhcp

    后面加上

    代码:
    pre-up iptables-restore </etc/iptables.up.rules #启动自动调用已存储的iptables
    代码:
    post-down iptables-save >/etc/iptables.up.rule #关机时,把当前iptables 储存
  • 相关阅读:
    一句话评论设计模式六大原则
    keystore和truststore
    对于纯Java项目,JVM 各个类加载器的加载目标是什么?
    Keytool 使用总结
    饥饿的消费者(Hungry Consumer)模型
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted c
    如何判断对象已死?
    JMX 管理
    通过 jstat gcutil 来学习JVM 内存分配策略与 GC 发生时机
    程序员也应该有点艺术范儿,不要把“老年代”叫成“Old Generation”
  • 原文地址:https://www.cnblogs.com/fx2008/p/5056125.html
Copyright © 2011-2022 走看看