zoukankan      html  css  js  c++  java
  • Ubuntu 16.04下操作iptables的技巧(解决Failed to start iptables.service: Unit iptables.service not found.或者/etc/init.d/iptables: 没有那个文件或目录)

    /etc/init.d/iptables网上的解法应该都是基于CentOS 6去实践,而在CentOS 7中又被firewalld给取代,所以操作上的写法基本会改变,但是底层iptables则不会改变,iptables默认加载在内存,管理网络规则,而至于在实现网络传输时,由系统决定,比如网络服务重启等操作就是系统决定的,所以只要找准功能点应该不难去解决问题。

    在Ubuntu中,为了简化iptables的规则添加,在上层封装了UFW的防火墙,但是这个只涉及到防火墙的规则,而不涉及到转发路由等功能。

    虽然各个发行版都有自己的独特规则管理软件,但是底层添加iptables的规则方式依然不变。

    下面是针对Ubuntu的iptables一些相关操作:

    a] ufw命令 - 此命令用于管理Linux防火墙,旨在为用户提供易于使用的界面。

    b] iptables命令 - 该命令用于设置,维护和检查Linux内核中IPv4包过滤规则的表。

    查找防火墙的状态

    通过打开终端或通过基于ssh的会话登录,以root用户身份登录。键入以下命令:

    sudo ufw status

    Ubuntu stop iptables service命令(类似于/etc/init.d/iptables stop)

    键入以下命令卸载防火墙,并在启动时禁用防火墙:

    sudo ufw disable

    Ubuntu start iptables service命令(类似于/etc/init.d/iptables start)

    键入以下命令重新加载防火墙并启动防火墙启动:

    sudo ufw enable

    Ubuntu reload / restart iptables service命令(类似于/etc/init.d/iptables reload/restart)

    键入以下命令重新加载防火墙:

    sudo ufw reload

    在Ubuntu和其他Linux发行版上启用/禁用防火墙的替代方法

    如果您不使用ufw命令和/或ufw未安装,请尝试以下通用方法:

    获取IPv4 iptables状态

    sudo iptables -L -n -v

    获取IPv6 ip6tables状态

    sudo ip6tables -L -n -v

    保存IPv4 iptables防火墙

    使用iptables-save命令保存当前的防火墙规则

    sudo iptables-save > $HOME/firewall.txt

    保存IPv6 ip6tables防火墙

    sudo ip6tables-save > $HOME/firewall-6.txt

    恢复IPv4 iptables防火墙

    使用iptables-restore命令恢复防火墙规则

    sudo iptables-restore < $HOME/firewall.txt

    恢复IPv6 ip6tables防火墙

    sudo ip6tables-restore < $HOME/firewall-6.txt

    把它们放在一起

    要停止基于Ipv4的iptables防火墙,请输入:

    sudo iptables-save >  $ HOME / firewall.txt
    sudo iptables -X 
    sudo iptables -t nat -F 
    sudo iptables -t nat -X 
    sudo iptables -t mangle -F 
    sudo iptables -t mangle -X 
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT

    要停止基于Ipv6的iptables防火墙,请输入:

    sudo ip6tables-save >  $ HOME / firewall- 6 .txt
    sudo ip6tables -X 
    sudo ip6tables -t mangle -F 
    sudo ip6tables -t mangle -X 
    sudo ip6tables -P INPUT ACCEPT
    sudo ip6tables -P FORWARD ACCEPT
    sudo ip6tables -P OUTPUT ACCEPT 

    选项:

    • -F:冲洗选定的链(如果没有给定,则表中的所有链)。这相当于逐个删除所有的规则。
    • -X:删除指定的可选用户定义的链。必须没有参考链。如果有的话,您必须删除或替换引用规则才能删除链。
    • -P chainNameHere ACCEPT :将链的策略设置为给定的目标。
    • -L :列出规则。
    • -v :详细输出。
    • -n:数字输出。IP地址和端口号将以数字格式打印。

    参考:

    https://help.ubuntu.com/community/IptablesHowTo(Ubuntu针对iptables最标准的官方解决方案,一些操作技巧可以参考这篇文章)

    https://www.cyberciti.biz/faq/ubuntu-start-stop-iptables-service/(以上内容大部分转自此篇文章)

    https://wiki.debian.org/iptables

  • 相关阅读:
    关于Log4j的初始化
    Golang-interface(四 反射)
    JavaScript学习总结-技巧、有用函数、简洁方法、编程细节
    玩转iOS开发
    小谈一下Java I/O
    [ACM] 最短路算法整理(bellman_ford , SPFA , floyed , dijkstra 思想,步骤及模板)
    已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
    计数排序
    跟我学solr---吐槽一下,我的文章被抄袭啦
    Navicat11全系列激活工具和使用方法
  • 原文地址:https://www.cnblogs.com/EasonJim/p/7595213.html
Copyright © 2011-2022 走看看