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

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

  1. java中CRUD(增删查改)底层代码的实现

    java中CRUD(增删查改)底层代码的实现: package com.station.dao; import com.station.model.Product; import java.sql.* ...

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

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

  3. MongoDB 学习笔记(二):shell中执行增删查改

    一.查 1.查询集合中所有文档:db.集合名.find(). 2.查询集合中第一个文档:db.集合名.findOne(). 3.指定查询条件:第一个参数就是指定查询条件 查询全部文档:db.集合名.f ...

  4. iptables 增删查改

    一,安装并启动防火墙 二.添加防火墙规则 1.添加filter表 2.添加nat表 指定位置添加 三.删除iptables规则 四.查看防火墙规则 1.查看filter表 2.查看nat表 五.修改规 ...

  5. c#中xml增删查改

    /// <summary> /// xml转list /// </summary> /// <typeparam name="T">目标对象&l ...

  6. jdbc的实例应用:增删查改实现

    //在jdbc中进行增删查改 //查看所有 public static void findAll() { String url = "jdbc:mysql://localhost:3306/ ...

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

    本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍, ...

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

    声明一个类,在类中实现增删查改的方法 public class AdoNet { //声明连接字符串 public string Sqlstr = "data source={0};data ...

  9. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

随机推荐

  1. JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)

    JVM区域总体分两类,heap区和非heap区.heap区又分为: Eden Space(伊甸园). Survivor Space(幸存者区). Old Gen(老年代). 非heap区又分: Cod ...

  2. leetcode114

    class Solution { public: void flatten(TreeNode* root) { while(root){ if(root->left){ TreeNode* pr ...

  3. Sphinx 与全文索引

    全文索引创建过程 第一步:将源文档传给分词组件(Tokenizer) 分词组件做了以下事情: 将文档分成一个一个的单词 去除标点符号 去除停词:英文(the / a / this / that ... ...

  4. Jquery DataTables 获取表格数据

    1.获取表格所有数据 function getTableContent(){ var nTrs = table.fnGetNodes();//fnGetNodes获取表格所有行,nTrs[i]表示第i ...

  5. 【Noip模拟 20161005】运货

    问题描述 小ww开了一家快递公司,在nn个城市之间进行货物运输工作,一共雇了mm个快递员. 每个快递员性格很奇特,第ii号快递员只愿意将货物从城市sisi运送到titi(甚至不愿意将货物 从titi运 ...

  6. Linux下修改Tomcat默认端口

    假设tomcat所在目录为/usr/local/apache-tomcat/ 1.打开tomcat配置文件#vi /usr/local/apache-tomcat/conf/server.xml 2. ...

  7. springmvc controller方法返回值

  8. Handler相关

    1.延迟方法 Message msg = new Message(); msg.what = 0x111; // netWorkHandler.sendMessage(msg);   //延迟方法三 ...

  9. Mysql 关键字

    ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE C ...

  10. c#命名规范(转载)

    出处:脚本之家 链接:http://www.jb51.net/article/57163.htm 注重代码书写的程序员应该是一个比较有修养的人,下面这些命名规则不一定要绝对遵从,但值得参考.在应用规则 ...