SYNOPSIS
iptables [-t table] {-A|-C|-D} chain rule-specification
ip6tables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum

iptables 是linux下一款强大的防火墙,在不考虑效率的情况下,功能强大到足能够替代大多数硬件防火墙。可是强大的防火墙假设应用不当,可能挡住的可不光是那些潜在的攻击,还有可能是你自己哦。

这个带来的危害对于普通的个人PC来说可能无关紧要。可是想象一下,假设这是一台server,一旦发生这种情况。不光是影院正常的服务。还须要到现场去恢复。这会给你带来多少损失呢?

所以我想说的是,当你敲入每个iptables 相关命令的时候都要万分小心。

1.应用每个规则到DROP target时,都要细致检查规则。应用之前要考虑他给你带来的影响。

2.在redhat中我们能够使用service iptables stop来关闭防火墙,可是在有些版本号如ubuntu中这个命令却不起作用,大家可能在网上搜索到不少文章告诉你用iptables -F这个命令来关闭防火墙,可是使用这个命令前。千万记得用iptables -L查看一下你的系统中全部链的默认target。iptables -F这个命令仅仅是清除全部规则。仅仅不会真正关闭iptables.想象一下,假设你的链默认target是DROP,本来你有规则来同意一些特定的port,但一旦应用iptables
-L 。清除了全部规则以后。默认的target就会阻止不论什么訪问。当然包含远程ssh管理server的你。

所以我建议的关闭防火墙命令是

    iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

总之,当你要在你的server上做不论什么变更时,最好有一个測试环境做过充分的測试再应用到你的server。

除此之外。要用好iptables,那就要理解iptables的执行原理,知道对于每个数据包iptables是怎么样来处理的。这样才干准确地书写规则,避免带来不必要的麻烦。

       iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
rule-specification = [matches...] [target]
match = -m matchname [per-match-options]
target = -j targetname [per-target-options]

屏蔽ICMP ping请求

我们能够通过同意以下的命令屏蔽ping请求:

  1. # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
  2. # iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

也能够依照特定的网段和主机限制ping请求:

  1. # iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT

下面命令仅仅接受受限制的ping请求:

  1. #假定默认INPUT策略为丢弃数据包
  2. # iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
  3. # iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
  4. # iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
  5. #全部的server都对ping请求作出应答
  6. # iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

屏蔽或开启常见port

屏蔽或开启经常使用的TCP、UDPport:

  1. #能够使用DROP替换ACCEPT。实现端口屏蔽。
  2. #打开22端口(SSH)
  3. # iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  4. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
  5. #打开TCP/UDP631端口(打印服务)
  6. # iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
  7. # iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT
  8. # 打开123端口,同意局域网用户进行NTP时间同步
  9. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
  10. #打开25端口(SMTP)
  11. # iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
  12. # 打开DNS端口
  13. # iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
  14. # iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
  15. #打开http/https端口
  16. # iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
  17. # iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
  18. #打开TCP110端口(POP3)
  19. # iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT
  20. #打开TCP143端口
  21. # iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
  22. #为局域网用户开启Samba訪问
  23. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
  24. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
  25. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
  26. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
  27. #为局域网用户开启代理server訪问
  28. # iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT
  29. #为局域网用户开启MySQL訪问
  30. # iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

版权声明:本文博主原创文章。博客,未经同意不得转载。

linux-ubuntu关闭防火墙的更多相关文章

  1. linux下关闭防火墙命令

    今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...

  2. RedHat Enterprise Linux 7关闭防火墙方法

    systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起 在之前的版本中关闭防火墙等服务的命令是 service iptables stop ...

  3. Linux如何关闭防火墙和查看防火墙的具体情况

    1.Linux下关闭和开启防火墙 1) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后失效 开启: ser ...

  4. 我用过的Linux命令--关闭防火墙

    关闭防火墙: 防火墙的弄能是限制某一些端口的使用,可以通过linux命令关系它,相应的指令: 查看防火墙信息: #service iptables status 就能看到防火墙的状态: 关闭防火墙: ...

  5. linux怎么关闭iptables linux如何关闭防火墙

    Linux系统下面自带了防火墙iptables,iptables可以设置很多安全规则.但是如果配置错误很容易导致各种网络问题,那么如果要关闭禁用防火墙怎么操作呢,咗嚛本经验以centos系统为例演示如 ...

  6. [转]RedHat Enterprise Linux 7关闭防火墙方法

    在之前的版本中关闭防火墙等服务的命令是 service iptables stop /etc/init.d/iptables stop 在RHEL7中,其实没有这个服务 [root@rhel7 ~]# ...

  7. linux 启动 关闭 防火墙

    开启防火墙: systemctl start firewalld 关闭防火墙: systemctl stop firewalld

  8. Ubuntu 关闭防火墙

    关闭防火墙:service iptables stop

  9. Linux系统关闭防火墙端口

    1. 打开防火墙端口 # iptables -I INPUT -p tcp --dport -j ACCEPT # iptables -I INPUT -p tcp --dport -j ACCEPT ...

  10. Linux 开启关闭防火墙

    开放防火墙端口添加需要监听的端口 /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT/sbin/iptables -I INPUT -p tcp ...

随机推荐

  1. perl操作sqlserver实现BCP

    #!C:\Perl64\bin #由BCP备份和恢复SQLSERVER指定表 use 5.014; #加载用户和password型材 my $username ; my $passwd; ##得到us ...

  2. Mac OS X Yosemite安装Hadoop 2.6记录

    整个安装过程分为四部分: 一.  安装Homebrew 二.  ssh localhost 三. 安装Hadoop已经进行配置文件设置 (伪分布式) 四. 执行栗子 一. 安装Homebrew 採用H ...

  3. .NET 4 并行(多核)编程系列之四 Task的休眠

    原文:.NET 4 并行(多核)编程系列之四 Task的休眠 .NET 4 并行(多核)编程系列之四 Task的休眠 前言:之前的几篇文章断断续续的介绍了Task的一些功能:创建,取消.本篇介绍Tas ...

  4. Kotlin

    关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...

  5. Install Orace 11g on Solaris 10 Sparc 64 bit

    昨天有一个客户端安装11g数据库.整个安装过程和一些遇到的问题是一个创纪录.共享. 由于客户不能使用自己的机器远程连接到server,意通过U盘.移动硬盘等拷贝不论什么文件.因此一些记录内容无法做到非 ...

  6. HDFS Safemode问题

    处于safemode的集群是无法接收不论什么写操作的,包含创建文件夹.删除文件.改动文件.上传文件等等. 关于safemode,在http://www.iteblog.com/archives/977 ...

  7. ASP.NET vNext or .NET vNext?

    ASP.NET vNext or .NET vNext? 从概念和基础开始 vNext在曝光以来绝大多数以ASP.NET vNext这样的的字眼出现,为什么这边会提及.NET vNext?原因是我认为 ...

  8. 引用类型之object类型

    object类型有两种创建方法,第一种是直接创建法: var person=new Object(); person.name = "Nicholas"; person.age = ...

  9. 【Unity 3D】学习笔记三十五:游戏实例——摄像机切换镜头

    摄像机切换镜头 在游戏中常常会切换摄像机来观察某一个游戏对象,能够说.在3D游戏开发中,摄像头的切换是不可或缺的. 这次我们学习总结下摄像机怎么切换镜头. 代码: private var Camera ...

  10. 答读者问(5):关于数学程序猿的作用、r \\ u0026研发工作的实践要求和问题,如求职的影响

    最近,有通过微博很多读者.微信沟通,我.我觉得我们学习.对于技术,我们很热情.我也学到了很多东西. 我提取了几个大家比較关心的问题予以答复.请有相同疑问的朋友參考一下. ,欢迎关注.) 版权声明:本文 ...