Ubuntu 中 iptables 增删查改

iptables是linux系统自带的防火墙,功能强大。如果iptables不熟悉的话可以用apf,是一款基于iptables的防墙。

一.安装并启动防火墙

$ /etc/init.d/iptables start

当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以centos为例,

文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,

也可以直接修改/etc/sysconfig/iptables这个文件就行了。

二.添加防火墙规则

1.添加filter表

$ iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

-dport 开放21端口
-A 默认是插入到尾部的(add)

2.添加nat表

$ iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE

将源地址是 192.168.10.0/24 的数据包进行地址伪装
-t 类型 (type)

3. 指定位置添加

$ iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT
$ iptables -L -n --line-number
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    DROP       icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 8
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20

-L 列出 list
--line-number 显示行号
-I指定位置添加

三.删除iptables规则

$ iptables -D INPUT 3               #删除input的第3条规则
$ iptables -t nat -D POSTROUTING 1      #删除nat表中postrouting的第一条规则
$ iptables -F INPUT             #清空 filter表INPUT所有规则
$ iptables -F                           #清空所有规则
$ iptables -t nat -F POSTROUTING        #清空nat表POSTROUTING所有规则

四.查看防火墙规则

1.查看filter表

$ iptables -L -n --line-number |grep 21

如果不加-t的话,默认就是filter表,查看,添加,删除都是的

2.查看nat表

$ iptables -t nat -vnL POSTROUTING --line-number

五.修改规则

$ iptables -R INPUT 3 -j DROP                       #-R  将规则3删除

六. 设置默认规则

$ iptables -P INPUT DROP                        #设置filter表INPUT默认规则是 DROP

所有添加,删除,修改后都要保存起来,

$/etc/init.d/iptables-save

原文地址:https://www.cnblogs.com/goldenblade/p/9578192.html

时间: 2024-10-16 21:09:11

Ubuntu 中 iptables 增删查改的相关文章

js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join

js中数组增删查改unshift.push.pop.shift.slice.indexOf.concat.join 原文地址:https://www.cnblogs.com/mahmud/p/10301590.html

mvc模式下dao中的增删查改

1.新建Dao包 并创建实体的dao类 2.以DBHelper为基础具体实现增删查改 具体代码如下: public static int insert(User u) { String sql = "insert into user(userID,userName) values(?,?)"; Object[] params = new Object[] { u.getUserID(), u.getUserName() }; return DBHelper.ExecSql(sql, p

vue中的增删查改

1.配置路由:cnpm install vue-router --save 配置资源:cnpm install vue-resource --save 2.增加数据 给文本框做双向绑定后给提交按钮点击事件,进行jsonp跨域传值到接口. 3.展示 用jsonp接到借口的值后进行v-for循环展示 4.删除 首先要获取要删除的id 给按钮一个删除的点击事件,然后获取id,把id传到接口进行删除,同时删除节点. 5.修改 修改的模板格式如上图,跳转到默认值页面,需要进行配置路由 然后就是默认值upd

基于MVC实现增删查改

1.首先要理解MVC的架构.新建一个web项目取名叫Service. 2.建立eneity(实体包),tools(连接数据库),DAO(借助result的代码实现增删查改)servlet(实现跳转). 3.在建立实体时一定要和数据库中的字段名一致,否则在运行时会出错.连接数据库时一定要注意数据库名和密码. 4.在DAO层中实现增删查改的语句,并测试,代码如下: public class userDAO {  public List getAllUser(){//查询 String SQL="se

Android SQLite最简单demo实现(增删查改)

本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍,希望写出这么一篇博文来记录SQLite的最基本操作,同时也希望能够对android的新手们有些帮助. 参考博客:http://www.20864.com/201247/274.html 这里只是一个示范性的demo,并没实现什么具体功能,只实现了对数据库的增删查改操作. 以下是实现demo的步骤:

ADO.NET教程(2)实现增删查改

声明一个类,在类中实现增删查改的方法 public class AdoNet { //声明连接字符串 public string Sqlstr = "data source={0};database={1};User id={2};pwd={3}"; //声明ado类 public SqlCommand Command; public SqlConnection Conn; //声明构造函数 传入连接字符串进行拼接 public AdoNet(string datasource,str

c++中的顺序表写法,主要实现(增删查改,构造函数,运算符重载)

本文的内容主要是,利用c++写出顺序表,并对写出的代码进行测试, 主要实现的功能:实现对顺序表的增删查改, 要写的函数:构造函数,赋值运算符重载,析构函数.在编写代码过程中应注意到深浅拷贝问题. 下面是顺序表的类函数: #pragma once #include<iostream> using namespace std; typedef int DataType; class SeqList { public: SeqList(); SeqList(DataType *array, size

在MVC程序中,使用泛型仓储模式和工作单元实现增删查改

在这片文章中,我将自己动手为所有的实体:写一个泛型仓储类,还有一个工作单元. 工作单元的职责就是:为每一个实体,创建仓储实例.仓储(仓库)的职责:增删查改的功能实现. 我们将会在控制器中,创建工作单元类(UnitOfWork)的实例,然后根据实体,创建仓储实例,再就是使用仓储里面的方法,做操作了. 下面的图中,解释了,仓储和EF 数据上文的关系,在这个图里面,MVC控制器和仓储之间的交互,是通过工作单元来进行的,而不是直接和EF接触. 那么你可能就要问了,为什么要使用工作单元??? 工作单元,就

4.CRUD Operations Using the Repository Pattern in MVC【在MVC中使用仓储模式进行增删查改】

原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 上一篇文章,讲到了MVC中基本的增删查改,这篇文章,我会继续说到,使用仓储模式,进行增删查改. 什么是仓储模式呢,我们先来了解一下:  仓储模式是为了在程序的数据访问层和业务逻辑层之间创建一个抽象层,它是一种数据访问模式,提供了一种更松散耦合的数据访问方法.我们把创建数据访问的逻辑代码写在单独的类中,或者类库中