编辑/etc/rc.local,加入iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE,外网口eth1为dhcp获得IP。

进入本机的数据包为INPUT,从本机发送出去的数据包为OUTPUT,只是路由的包为FORWARD;防火墙就是基于这3个过滤点来操作的。

对于包的操作有:目标(Target)、丢弃(DROP)、接受(ACCEPT)、弹回(REJECT)、日志(LOG)……等等,比如 iptables -A INPUT -p icmp -j DROP(-A代表添加到的过滤点 -p针对的协议类型;此条命令的作用是禁ping),通常是拒绝所有,再一个一个的打开。

iptables -F 清空所有规则

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 21 -j DROP (本机地址为10.0.0.1,此条规则为拒绝所有发送到本机TCP 21端口的数据包,即关闭FTP服务)

iptables -A INPUT -p tcp -s 10.0.0.1 –dport 21 -j DROP (此条规则为拒绝所有发送至10.0.0.1的TCP 21端口的数据包)

==================================

(本机,即服务器的地址为10.0.0.1)

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 22 -j ACCEPT #允许别人访问22端口

iptables -A OUTPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT #和自己建立过22端口连接的包才给与回应,防止病毒利用22端口,不允许本地22端口主动产生包发出去

iptables -A INPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCPET #只接收ssh服务回应自己SSH请求的回应包

iptables -P INPUT DROP #丢弃所有的input包

iptables -P OUTPUT DROP #丢弃所有的OUTPUT包

iptables -P FORWARD DROP #丢弃所有的FORWARD包

iptables -L -n #查看所有链路信息,如果再加“–line-numbers”则显示编号

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 80 -j ACCEPT #允许别人访问80端口

iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT #和自己建立过80端口连接的包才给与回应,防止病毒利用80端口,不允许本地80端口主动产生包发出去

iptables -A OUTPUT -p udp -s 10.0.0.1 –dport 53 -j ACCEPT #允许向DNS服务器发送同步数据包

iptables -A OUTPUT -p udp –sport 53 -j ACCEPT #对于自己53端口发送的请求包通过(自己是DNS服务器时)

iptables -A INPUT-p udp –dport 53 -j ACCEPT #允许别人访问自己的53端口(自己是DNS服务器时)

iptables -A INPUT -p udp –sport 53 -j ACCEPT #允许接收DNS服务器的返回包

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务

iptables -I INPUT 1 -p tcp –dport 22 -j LOG –log-level 5 –log-prefix
“iptables:”
#为22端口的INPUT包增加日志功能,插在input的第1个规则前面,一定要保证在提交到日志之前,没有相同接收或者丢弃包

vi /etc/syslog.conf #编辑日志配置文件,添加kern.=notice   /var/log/firewall.log(log-level 5为notice,详情man syslog)

service syslog restart #重启日志服务

tail /var/log/firewall.log -f #查看日志

iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT #从局域网发给互联网的包全部转发

iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT #从互联网发送给局域网的包全部转发

还需要打开/proc/sys/net/ipv4/ip_forward 让里面的值变为1(默认值是0),打开转发,此方法是临时生效

vi /ect/sysctl.conf #打开系统配置文件,编辑net.ipv4.ip_forward = 1,此方法是永久生效

iptables -t nat -L -n #查看iptables的nat表

service iptables save #永久性的保存规则,等同于iptables-save > /etc/sysconfig/iptables


来源:http://www.ha97.com/3930.html

Linux的iptables常用配置范例(3)的更多相关文章

  1. Linux的iptables常用配置范例(1)

    以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的配置说明 可以通过/sbin/iptables -F清除所有规则来暂时停止防火墙: (警告:这只适合在没 ...

  2. Linux的iptables常用配置范例(2)

    iptables -F   #清除所有规则 iptables -X  #清除所有自定义规则 iptables -Z   #各项计数归零 iptables -P INPUT DROP  #将input链 ...

  3. Linux防火墙--IPtables企业级配置策略思路

    一.防火墙简介 防火墙定义:是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内.外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术. 防火墙发展应用:最早 ...

  4. Linux下iptables安全配置

    Linux下配置IPTables,只开放特定端口,禁用其他网络. *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] ...

  5. Linux防火墙iptables安装配置--使用远程工具Xmanager和ftp服务安装配置

    一.linux关闭防火墙:    a.用户直接在终端输入:service iptables stop     查看防火墙状况:service iptables status  b.root用户在终端输 ...

  6. 高性能计算linux集群常用配置

    1.检查超线程 查看线程数:grep siblings /proc/cpuinfo |uniq 查看物理核心数:grep cores /proc/cpuinfo |uniq 2.检查操作系统版本 ca ...

  7. iptables常用配置

    常用的iptables模板 #!/bin/sh iptables -F iptables -X iptables -F -t mangle iptables -t mangle -X iptables ...

  8. linux之iptables常用命令

    iptables详解 iptables -L 该命令会以列表的形式显示出当前使用的 iptables 规则,每一条规则前面的编号可以用来做为其它操作--例如删除操作--的参数,很有用 iptables ...

  9. linux 下 etc常用配置信息

    这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释: 1./etc/hosts  #文件格式: IPaddress hostname aliases #文件功能: 提 ...

随机推荐

  1. JSP基本语法--实例演练

    基本语法概括:<%@page>,<%@include>,<jsp:include>,<jsp:forward> 加上数据库操作,可以开发动态web了. ...

  2. ComboBox绑定Dictionary做为数据源

    http://www.cnblogs.com/refresh/archive/2012/07/14/2591503.html https://msdn.microsoft.com/zh-cn/libr ...

  3. zk reconnect

    http://blog.csdn.net/hengyunabc/article/details/41450003 http://blog.csdn.net/hengyunabc/article/det ...

  4. profile和bash

    24down votefavorite 12 I am reading about basic shell scripting from Linux Command Line and Shell Sc ...

  5. for in 的各种坑

    for in方法用来遍历数组或者对象的显性属性,就是说我们自己定义的属性都是可以遍历的,而对象固有的属性,比如Object.prototype.toString是遍历不出来的. for in方法简洁好 ...

  6. 字符串查找 cmd find命令

    find /i "ora-" *.log 我对findstr是如此的依赖,以至于当我向各位讲解find命令的时候,我还得老老实实地在cmd窗口中敲下 find /? 这条命令,然后 ...

  7. slf4j(simple logging facade for java)

    http://www.tuicool.com/articles/IfeUfq   slf4j(simple logging facade for java)是Java的简单的日志门面,它 不是具体的日 ...

  8. OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)和varying,uniform,attribute修饰范围

    OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)   所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符. ...

  9. 织梦DEDE文章列表前面自动加递增数字标签

    实现的办法很简单,只须要在序号递增的处所加上这段代码就行 [field:global runphp=""yes"" name=autoindex][/field ...

  10. RxSwift 之官方文档

    RxSwift 官方文档结构 Introduction: Subjects Transforming Observables Filtering Observables Combining Obser ...