作者:邓聪聪 

 iptables的入站端口放行策略:

1:
iptables -A INPUT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -p tcp --dport -j ACCEPT
iptables -A INPUT -s 118.188.0.0/ -p tcp -m tcp --dport -j ACCEPT
iptables -A INPUT -j DROP
2:

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -s 118.188.20.0/24 -j ACCEPT
iptables -I INPUT -s 123.115.85.16/29 -j ACCEPT
iptables -I INPUT -s 1.81.0.0/22 -j ACCEPT
iptables -I INPUT -s 113.200.0.0/16 -j ACCEPT
iptables -A INPUT -j DROP

  Cents7 安装iptables的应用 :yum -y install iptables-services

利用liunx的iptables进行目的地址转换和源地址转换

!!!需要开启内核转发

echo  >/proc/sys/net/ipv4/ip_forward 

SNAT:

假如我要让公司192.168.10.0/24段的地址都通过linux服务器的eth0 :123.123.123.123上网

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 123.123.123.123

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to 123.123.123.123   #更改所有来自192.168.1.0/24的数据包的源ip地址为123.123.123.123

DNAT:

eth0:123.123.123.123

GATEWAY eth1:192.168.10.1 内网主机:192.168.10.10

要使访问123.123.123.123的80 自动跳到192.168.10.10的80端口上

iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 --dport 80 -j DNAT --to-destination 192.168.10.10:80

iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.10 --dport 80 -j SNAT --to-source 192.168.10.1 (内网之间进行nat才加上)

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 123.123.123.123   #更改所有来自192.168.1.0/24的数据包的目的ip地址为123.123.123.123

第一条:将外部数据包的目的地址改到内网主机的指定端口
第二条:转发前,将外部源地址改为内网本地地址

liunx中的iptables的更多相关文章

  1. Neutron分析(5)—— neutron-l3-agent中的iptables

    一.iptables简介 1.iptables数据包处理流程 以本机为目的的包,由上至下,走左边的路 本机产生的包,从local process开始走左边的路 本机转发的包,由上至下走右边的路 简化流 ...

  2. Liunx中fstab文件详解

    Liunx中fstab文件详解 /etc/fstab是用来存放文件系统的静态信息的文件.位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc ...

  3. Ubuntu中保存iptables防火墙规则

    Ubuntu中保存iptables防火墙规则的例子 打开防火墙 ufw disableufw statusufw enable ufw allow 22/tcp ufw reload iptables ...

  4. linux 中使用iptables 防止ddocs及cc攻击配置 。

    #防止SYN攻击,轻量级预防 iptables -N syn-floodiptables -A INPUT -p tcp –syn -j syn-floodiptables -I syn-flood ...

  5. Libevent2.1.8版在Liunx中编译安装遇到的问题

    Libevent2.1.8版在Liunx中编译安装遇到的问题 前言:在网上找了很久,都没有一个明确的解决方法,通过分析可能的原因,将自己实际操作及解决的成功结果记录如下,以供遇到相似的问题,能提供思路 ...

  6. liunx中计算机壳层

    什么是shell?shell是用C语言编写的程序.既是一种命令语言,又是一种程序设计语言.shell是一种应用程序,这个应用程序提供一个界面,用户通过这个界面访问系统内核的服务.在计算机科学中,She ...

  7. IPTables系列:如何配置Ubuntu 14.04中的IPTables防火墙

    IPTables基本命令 在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解. 首先要说明的是IPTables命令必需以root权限运行,这意味 ...

  8. linux中利用iptables+geoip过滤指定IP

    1. 前提条件 iptables >= 1.4.5 kernel-devel >= 3.7 2.  安装依赖包  代码如下 复制代码 # yum install gcc gcc-c++ m ...

  9. Ubuntu中使用iptables

    (一) 设置开机启动iptables # sysv-rc-conf --level 2345 iptables on (二) iptables的基本命令 1. 列出当前iptables的策略和规则 # ...

随机推荐

  1. centos 7 上zabbix 3.0 服务端安装

    zabbix服务端安装 安装完毕mysql-5.6.php5.6 mysql-5.6安装:https://www.cnblogs.com/xzlive/p/9771642.html  创建zabbix ...

  2. 解决gitk显示文件内容中文乱码

    解决gitk显示文件内容中文乱码 1.git config 命令 设置git gui的界面编码 git config --global gui.encoding utf-8 2.修改配置文件 在~\e ...

  3. JAVA核心技术I---JAVA基础知识(时间类)

    一:时间类库了解 java.util.Date(基本废弃,Deprecated) –getTime(),返回自1970..1以来的毫秒数 java.sql.Date(和数据库对应的时间类) //与数据 ...

  4. Linux记录-使用python临时搭建web服务器

    python2: python -m SimpleHTTPServer 8888 python3: python -m http.server 8888 wget   ip:8888/文件

  5. 原生JavaScript运动功能系列(五):定时定点运动

    原生JavaScript运动功能系列(一):运动功能剖析与匀速运动实现 原生JavaScript运动功能系列(二):缓冲运动 原生JavaScript运动功能系列(三):多物体多值运动 原生JavaS ...

  6. MySQL备份工具之mysqldump使用

    MySQL备份工具之mysqldump使用说明 一.备份分类 根据能否停用数据库,将备份类型分为: 1. 冷备:数据库服务停止后备份 2. 温备:只能对数据库进行读操作,不能进行写操作 3. 热备:在 ...

  7. c/c++gdb下和发布版本下输出地址不同

    相差4字节 相差8个字节 原因: 这4个字节是优化掉了,64位操作系统,函数传参通过寄存器,减少了栈的使用 debug模式下,abc的地址都存下来了.

  8. C#控件绘图恢复最小化后不自动重绘问题

    最近在学习C#中的绘图,使用控件绘图时发现一个现象:即使将绘图代码写在了Paint方法中,将窗口最小化再恢复后依然不会重绘,而只有将鼠标移到控件上或者有其他改变窗口的行为时才会重绘. 一开始以为是自己 ...

  9. 【转载】C# 字符串截取

    https://blog.csdn.net/maba007/article/details/78424760

  10. Android获取版本号

    public static String getVersionName(Context context) { PackageManager manager = context.getPackageMa ...