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. 【Linux】【Jenkins】配置过程中,立即构建时,maven找不到的问题解决方案

    在Linux环境下配置Jenkins执行时,发现不能执行Maven,这个比较搞了. A Maven installation needs to be available for this projec ...

  2. awk选取制定行数,条件判断等

    awk '{if(NR%5==0){print}}' your_file 取出可以被5整除的数awk '{if(NR<=300){print}}' your_file 取出行数小于300的数据a ...

  3. Innodb锁相关总结

    一.InnoDB共有七种类型的锁: (1)共享/排它锁(Shared and Exclusive Locks) (2)意向锁(Intention Locks) (3)插入意向锁(Insert Inte ...

  4. Java语法 [HelloWorld]

    程序代码: public class lqx {// AAAAANBBBBCKJKSLJIOQL/*请手打哦!*/ public static void main (String[] args) { ...

  5. Mad Lids游戏 华氏与摄氏温度转换

    name1 = input('请输入一个名字:') name2 = input('请输入一个名字:') vehicle = input('请输入一种车子:') print('\n上近代史的{}刚下课, ...

  6. Android Studio Intent使用(显式、隐式)

    https://blog.csdn.net/u012005313/article/details/47006689 使用Intent能够使程序在不同活动中跳转,意及能够使用不同界面.Intent用法分 ...

  7. springMVC自定义全局异常

    SpringMVC通过HandlerExceptionResolver处理程序异常,包括Handler映射,数据绑定以及目标方法执行时所发生的异常. SpringMVC中默认是没有加装载Handler ...

  8. faster rcnn源码阅读笔记2

  9. MQTT协议

    MQTT(Message Queue Telemerty Transport)是一种二进制协议,主要用于服务器和那些低功耗的物联网设备(IoT)之间的通信. 它位于 TCP 协议的上层,除了提供发布- ...

  10. Numpy三维数组的转置与交换轴

    二维数组的转置应该都知道,就是行列交换 而在numpy中也可以对三维数组进行转置,np.T 默认进行的操作是将0轴与2轴交换 本文主要对三位数组轴交换的理解上发表本人的看法. a = np.array ...