`
sunchaohui_koko
  • 浏览: 57235 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

iptables用法

    博客分类:
  • java
阅读更多
iptables -A INPUT -p tcp --dport 22  -j ACCEPT
iptables -F
02 # 允许包从22端口进入
03 iptables -A INPUT -p tcp --dport 22  -j ACCEPT
04 # 允许从22端口进入的包返回
05 iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
06 iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
07 iptables -A INPUT -p udp --sport 53 -j ACCEPT
08 #允许本机访问本机
09 iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
10 iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
11 #允许所有IP访问80端口
12 iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
13 iptables -A OUTPUT  -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
14 #保存配置
15 iptables-save > /etc/sysconfig/iptables
16 iptables -L
service iptables restart

1) 重启后生效
        开启: chkconfig iptables on
        关闭: chkconfig iptables off

        2) 即时生效,重启后失效
        开启: service iptables start
        关闭: service iptables stop

        需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

        在开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables 文件,添加以下内容:
        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT


文章转载自网管之家:http://www.bitscn.com/os/linux/200710/116667.html

 

 

打开终端
cd /java/tomcat
#执行
bin/startup.sh #启动tomcat
bin/shutdown.sh #停止tomcat
tail -f logs/catalina.out #看tomcat的控制台输出;

#看是否已经有tomcat在运行了
ps -ef |grep tomcat
#如果有,用kill;
kill -9 pid #pid 为相应的进程号

例如 ps -ef |grep tomcat 输出如下

------------------
input   =>filter #目的ip是本机的数据包
 forward   =>filter #穿过本机的数据包
 prerouting  =>nat  #修改目的地址(DNAT)
 postrouting  =>nat  #修改源地址(SNAT)

iptables -t 要操作的表 操作命令 要操作的链 规则号码 匹配条件 -j 匹配到以后的命令
iptables -I INPUT -j DROP   #-t 默认为filter
iptables -I INPUT 3 -j DROP   #链接里插入一条规则(插入第三条)

iptables -D INPUT 3    #按号码匹配删除
iptables -D INPUT -s 192.168.0.1 -j DROP #按内容匹配删除

iptables -R INPUT 3 -j ACCEPT   #将原来3的规则改为-j ACCEPT

iptables -P INPUT DROP    #设置默认规则

iptables -F INPUT    #清空filter表INPUT链中的所有规则
iptables -t nat -F PREROUTING
iptables -t nat vxnL PREROUTING   
 --# v: 显示详细信息
 --# x: 在v的基础上,禁止自动单位换算
 --# n: 只显示IP地址和端口号码,不显示域名和服务名称
========匹配条件
-i  -i eth0     #流入接口(是否从网口eth0进来)
-o      #流出接口
-s  -s 192.168.1.0/24    #来源地址
-d      #目的地址
-p  -p icmp --icmp-type    #协议类型
--sport  --sport 1000:3000   #来源的端口
--dport  --dport 1000:  :3000   #目的的端口1000:(1000端口以上) :3000(3000端口以下)

-s 192.168.0.1 -d www.sina.com -p tcp -dport 80
================================
iptables -A INPUT -j ACCEPT   #允许所有访问本机IP的数据包通过
iptables -A FORWARD -s 192.168.0.1 -j DROP #阻止来源地址为192.168.80.39的数据包通过本机

-j DNAT      #目的地址转换,DNAT支持转换为单IP,也支持转换到IP址


iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.0.3:80
#把从ppp0进来的要访问tcp/80的数据包的地址改为192.168.0.3

-j SNAT      #源地址转换
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1
#将内网192.168.0.0/24的源地址改为1.1.1.1,用于nat表
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1-1.1.1.10
#修改成为一个地址池 

-j MASQUERADE     #动态源地址转换
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
#将源地址为192.168.0.0/24的数据包进行地址伪装

===================附加模块
state      #按包状态匹配
mac      #按来源mac匹配
limit      #按包速率匹配
multiport     #多端口匹配

--state
  -m state      #new,related,established,invalid
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 #包状态 RELATED(衍生态),ESTABLISHED(连接态),NEW(有别于tcp的syn),INVALID(不被识别的)
 iptables -A FORWARD -m mac --mac-source XX:XX:XX:XX:XX:XX -j DROP
 #阻断来自某MAC地址的数据包通过本机
 iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
 #用一定速率去匹配数据包
 iptables -A INPUT -p tcp -m multiport --dports 21,22,25,80,110 -j ACCEPT
 #一次匹配多个端口


=======================================实例分析===================================
单服务器的防护:
 iptables -A INPUT -i lo -j ACCEPT
 iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 iptables -P INPUT DROP
制作网关:
 echo "1" > /proc/sys/net/ipv4/ip_forward    #启用路由转发
 iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
限制内网用户:filter->forward
 iptables -A FORWARD -s 192.168.0.3 -j DROP
 iptables -A FORWARD -m mac --mac-source 11:22:33:44:55:66 -j DROP
 iptables -A FORWARD -d
www.163.com -j DROP
内网做对外服务器:
 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.1.1
 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 -j DNAT --to 192.168.1.2:80

========================================连接追踪模块=================================
主动模式(ACTIVE)
 使用连接追踪模块(打开tcp/20,防火墙打开高范围端口,配置ftp,减小被动模式端口范围)
  modprobe ip_nat_ftp
  iptables -A INPUT -p tcp --dport 21 -j ACCEPT
  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  iptables -P INPUT DROP
被动模式(PASSIVE)

=============================网关策略=================================
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
modprobe ip_nat_ftp

堵:
 iptables -A FORWARD -p tcp --dport 80 -j DROP
 iptables -A FORWARD -p tcp --dport yyy:zzz -j DROP
通:
 iptables -A FORWARD -p tcp --dport xxx -j ACCEPT
 iptables -A FORWARD -p tcp --dport yyy:zzz -j ACCEPT
 iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
 iptables -P FORWARD DROP

==========================三大纪律五项注意=============================
3: filter nat mangle
5: prerouting,input,forward,output,postrouting

==========================注意事项==============================
 #养车好的习惯
 iptables -vnL
 iptables -t nat -vnL
 iptables-save
 #注意逻辑顺序
 iptables -A INPUT -p tcp --dport xxx -j ACCEPT
 iptables -I INPUT -p tcp --dport yyy -j ACCEPT

==========================FAQ======================================
 iptables -m 模块名 -h
 /lib/modules/`uname -r`/kernel/net/ipv4/netfilter  #模块存放的路径
 modprobe ip_nat_ftp      #加载模块

=========================实战======================================
 iptables -A INPUT -i lo -j ACCEPT
 iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 iptables -P INPUT DROP
 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 j SNAT --to 202.106.0.254

 iptables -t nat -A POSTROUTING -d 202.106.0.254 -p tcp --dport 80 -j DNAT --to 172.17.0.1
 iptables -A FORWARD -i eth2 -p eth1 -m state --state NEW -j DROP

分享到:
评论

相关推荐

    iptables 使用指南

    iptables 使用指南 内容比较详细

    iptables的用法,用iptables封IP的方法

    iptables的用法,用iptables封IP的方法,安装,启动,关闭

    Iptables中文使用指南

    第一章序言部分除了第三...第五章和第六章是iptables命令使用方法的详细介绍。 第七章与第八章是实例讲解,对我们编写自己的规则很有指导意义的,强烈建议你看一看。 附录里有一些资源链接是很好的,相信你一定会喜欢。

    iptables 的用法

    iptables的用法,linux上。 关于他的详细介绍

    Kylin-Iptables防火墙配置方法

    Kylin_Iptables防火墙配置方法

    iptables命令简单学习

    iptables简单使用说明,iptables简介,iptables相关表的介绍

    iptables基本用法

    iptables firewall:防火墙,隔离工具 实现方式: 硬件: 软件: 按防护范围分: 工作在主机边缘处的出入口,为单台主机提供防范:主机防火墙 工作在网络的边缘处出入口,为整个网络提供防护:网络防火墙 ...

    配置iptables防火墙系统实例

    详细说明iptables的用法及具体实施。

    Debian iptables服务工作脚本

    附件为Debian的iptables服务脚本,脚本有详细描述脚本的用法,主要作用时讲iptables像CentOS一样,注册成Linux服务,方便iptables管理

    网络安全课程设计之D防火墙——Iptables.docx

    实验内容:1)使用 iptables 制定规则,包括添加、修改、保存和删除规则等。 2)使用通用匹配条件和扩展匹配条件定义 iptables 规则。 3)在 iptables 中添加、管理和删除自定义链。 实验环境:虚拟机 VMware 或 ...

    利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    下面小编就为大家带来一篇利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    使用Linux系统Iptables防火墙

    Linux kernel使用netfilter对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用iptables命令可以对...本文介绍了Netfilter规则表,阐述了Ubuntu Server中的Iptables配置方法。

    iptables 使用总结

    总结了iptables原理,在各个场景下的使用方法,并给出了sh脚本的实现过程

    ansible_iptables_raw, 用于Ansible的iptables模块,可以保持状态.zip

    ansible_iptables_raw, 用于Ansible的iptables模块,可以保持状态 iptables_raw用于Ansible的MODULE,它可以轻松管理 ...文档MODULE 文档插件使用Ansible管理Iptables是一个简单的方法- 博客文章安装要使用 iptable

    Linux防火墙iptables

    一个详尽的linux防火墙学习资料,其中详细介绍了iptables的配置使用方法

    构筑Linux防火墙之IPtables的概念与用法

    通过使用iptables系统提供的特殊命令 iptables,建立这些规则,并将其添加到内核空间的特定信息包过滤表内的链中。关于添加、除去、编辑规则的命令的一般语法如下: iptables [-t table] command [match] [target...

    iptables psad snort设置

    iptables使用详解,经典iptables著作,并且有psad和snort与iptables结合的详细使用方法

    iptables命令实例

    但只能检查到第三层的内容,而procy则可以检查所有内容,目前来讲,在条件允许的情况下,我们通常是将两者结合起来使用,这样,既提高防火墙的工作效率又可对所有内容进行检查,是一种完美的方法。   内核分为内核...

    Iptables 指南1.1-Oskar Andreasson

    第一章序言部分除了第三...第五章和第六章是iptables命令使用方法的详细介绍。第七章与第八章是实例讲解,对我们 编写自己的规则很有指导意义的,强烈建议你看一看。附录里有一些资源链接是很好的,相信你 一定会喜欢。

Global site tag (gtag.js) - Google Analytics