UFW是一个简化版的iptables,基于iptables,配置比iptables简单

  默认UFW是关闭状态,即Ubuntu默认打开所有端口,比较危险。

  检测状态

  ufw status

  设置默认状态,默认禁止所有连接(所有入站连接)

  ufw default deny

  启用某个端口

  ufw allow 22

  删除某个规则

  ufw delete allow 22

  只打开使用tcp/ip协议的22端口:

  ufw allow 22/tcp

  打开来自192.168.0.1的tcp请求的80端口:

  sudo ufw allow proto tcp 192.168.0.1 port 80 to 192.168.0.2 port 80

  更详细的使用说明见:

  http://wiki.ubuntu.org.cn/Ufw%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97

  其实调用的还是iptables,因为使用后生成了很多iptables的规则。

# 清空所有防火墙规则
iptables --flush
iptables --delete-chain
 
# 接受所有到达 22 端口的 TCP 请求
# 假如你改了 SSH 的端口,记得修改这里的端口号。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 
# 接受所有到达 8888 端口的 TCP 请求
# 记得将 8888 改为你为 Shadowsocks server 设定的端口
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
 
# 接受所有由 VPS 发出的请求收到的回应
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许 ping
iptables -A INPUT -p icmp -j ACCEPT
 
# 不接受其余一切网络请求
iptables -A INPUT -j DROP
然后我发现 /etc/init.d 文件夹下不存在 iptables 服务文件,看来是要自行添加了,真麻烦。在 Google 了一下之后,没有找到别人提供的服务文件,却找到了利用开机网络前的配置 hook 运行自定义脚本来实现的方法,听说是因为 Debian 已经不再建议使用 /etc/init.d/iptables 服务了。
 
那么便添加 hook 吧,创建脚本 /etc/network/if-pre-up.d/iptables 并为其添加可执行属性,文件内容如下:
 
#!/usr/bin/env bash
 
# 从 iptables.conf 中读取防火墙配置
/sbin/iptables-restore < /etc/iptables.conf
接着,执行 bash iptables.sh 运行防火墙,然后执行 iptables-save > /etc/iptables.conf 生成配置文件。
 
最后,别忘了限制配置文件的读写权限,chmod 600 /etc/iptables.conf 足矣。搞定。

Ubuntu下使用UFW,以及CentOS7的默认防火墙firewalld的更多相关文章

  1. ubuntu下安装配置minicom(解决默认的端口/dev/tty8,改不过来的问题)

    Minicom是linux下串口通信的软件,下面讲下ubuntu Minicom的安装和配置. 安装: sudo apt-get install minicom 或在新立得软件包管理器中搜索“mini ...

  2. Ubuntu下使用UFW配置防火墙(简化iptables的操作)

    UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则. 但是,UFW是 ...

  3. CentOS7 默认防火墙firewalld

    firewalld基础 firewalld是CentOS7源生支持的防火墙,firewalld最大的好处有两个:支持动态更新,不用重启服务:第二个就是加入了防火墙的“zone”概念. firewall ...

  4. CentOS7关闭默认防火墙启用iptables防火墙

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭firewall: systemctl stop firewalld.service #停止f ...

  5. Ubuntu下将Sublime Text设置为默认编辑器

    转自将Sublime Text 2设置为默认编辑器 修改defaults.list 编辑/etc/gnome/default.list文件,将其中的所有gedit.desktop替换为sublime_ ...

  6. centos7默认防火墙firewalld

    1.开关 启动: systemctl start firewalld 查看状态: systemctl status firewalld  停止: systemctl disable firewalld ...

  7. Centos7 systemctl和防火墙firewalld命令(参考https://www.cnblogs.com/marso/archive/2018/01/06/8214927.html)

    一.防火墙的开启.关闭.禁用命令 (1)设置开机启用防火墙:systemctl enable firewalld.service (2)设置开机禁用防火墙:systemctl disable fire ...

  8. 【原创】docker在Ubuntu下1小时快速学习

    前言 由于工作原因,很多情况下需要快速学习新的知识,针对docker如果从头到尾看相关书籍学习会非常慢,所以整理了下docker的常用操作,只要跟着本文学习操作,一小时就能掌握docker大部最常用分 ...

  9. Ubuntu下使用git提交代码至GitHub

    一.Ubuntu下安装Git Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装. 如果没有安装,使用命令: sudo apt-get insta ...

随机推荐

  1. thrift协议的服务进压力测试

    Thrift vs  Grpc内容如下链接 http://blog.csdn.net/dazheng/article/details/48830511 背景:Facebook 开发的远程服务调用框架 ...

  2. WTL教程

    很不错的教程 http://www.yakergong.net/wtl/

  3. php xss漏洞修复用手段和用到的一些函数

    php xss漏洞修复用到的一些函数 $text = '<p>"Test paragraph".</p><!-- Comment --> < ...

  4. dart 命名规范

    1.类型 首字母大写 譬如 abstract class Shape 2.变量 驼峰式命名,首字母小写 class Article { String headUrl; String user; Str ...

  5. spring boot 项目打包到maven仓库供其它模块使用

    在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类 需对打包插件做如下修改: <build> <plu ...

  6. C语言增量内存申请 realloc

    void* realloc (void* ptr, size_t size); Reallocate memory block Changes the size of the memory block ...

  7. org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

    使用Hibernate 插入List数据时出现了以下异常: SLF4J: The requested version 1.6 by your slf4j binding is not compatib ...

  8. CBCentralManagerDelegate Protocol 委托协议相关分析

    总体概述 CBCentralManagerDelegate 协议中定义了一系列方法列表,这些方法是委托对象必须要实现的方法(也有可选择的),当中央管理器的相应变化就会调用委托对象中实现的相应方法. M ...

  9. Spark之 SparkSql、DataFrame、DataSet介绍

    SparkSql SparkSql是专门为spark设计的一个大数据仓库工具,就好比hive是专门为hadoop设计的一个大数据仓库工具一样. 特性: .易整合 可以将sql查询与spark应用程序进 ...

  10. fedora 16 yum yuan

    暑假买了几本Linux的书一直放在书架上没看,周末闲着没事就拿起本<LinuxC从入门到精通>看了起来,初学Linux首先要做的便是在电脑上安装Linux系统.于是按书上的要求下载了Fed ...