ubuntu16.04云服务器如何使用iptables防火墙

admin3年前云服务器37

ubuntu16.04云服务器使用iptables防火墙的方法:1、打开ubuntu16.04云服务器终端控制台;2、输入“sudo apt-get install iptables iptables-persistent”命令安装iptables防火墙;3、安装iptables防火墙成功后,设置防火墙规则即可。

具体内容如下:

iptables是整合在Linux操作系统中的防火墙软件,绝大部分Ubuntu发行版都预装了iptables。在一些非默认安装的Ubuntu系统或者容器环境中,可能没有预装iptables,我们可以通过下面的命令来安装。

sudoapt-getinstalliptablesiptables-persistent

安装iptables之后,系统会提示我们是否保存当前防火墙规则。如果我们要设置自己的防火墙规则,这时可以不用保存。

扩展:

1、端口测试工具

我们可以使用以下工具来检测端口是否开启或关闭,用来测试iptables是否生效。

客户端测试工具(Windows环境):

telnet[服务器IP][端口号]

服务端测试工具(Linux系统):

sudonetstat-tulpn

2、iptables的语法规则

sudoiptables-AINPUT-ptcp-mtcp--dport22--mgeoip--src-ccPE-jACCEPT

    -A INPUT:添加一个INPUT类型的规则。最常见的规则类型有三种,分别是INPUT、OUTPUT和PREROUTING。

    -p tcp:设置这条规则的协议为TCP协议。其他支持的协议还有udp、icmp和all。

    -m tcp:使用tcp模块。iptables通过模块来扩展功能特性,有些常用模块是iptables预装的,比如geoip模块。

    --dport 22:双横线--表示为前面使用的模块的更多选项。在这个示例里,我们设置tcp模块只应用于22端口。

    -m geoip:使用geoip模块。这个模块可以控制来自某个国家的网络请求。

    --src-cc PE:这个选项是让geoip模块限制从秘鲁的网络请求。PE是秘鲁的国家编码,这里可以替换成其他国家编码。

    -j ACCEPT:告诉iptables对满足上述条件的请求如何处理。ACCEPT(接受)、ERJECT(拒绝)和DROP(丢弃)是三种常用的处理方式。

    3、iptables的基本命令

    查看当前规则:

    sudoiptables-L

    删除某条规则(-D表示删除):

    sudoiptables-DINPUT-ptcp-mtcp--dport22-jACCEPT

    清空当前规则

    sudoiptables-F

    只清空OUTPUT类型的规则:

    sudoiptables-FOUTPUT

    创建iptables规则

    在eth0接口允许SSH连接:

    sudoiptables-AINPUT-ieth0-ptcp-mtcp--dport22-jACCEPT

    注:如果要应用于所有网络接口,请删除-i eth0指令。

    允许特定IP进行SSH连接(以10.0.3.1为例):

    sudoiptables-AINPUT-s10.0.3.1/32-ptcp-mtcp--dport22-jACCEPT

    设置默认规则:

    sudoiptables-PINPUTDROP

    sudoiptables-PFORWARDDROP

    sudoiptables-POUTPUTACCEPT

    说明:

      -P INPUT DROP:表示丢弃所有流入请求,即无法访问云服务器上的任何服务,如Apache、SQL等。

      -P FORWARD DROP:表示丢弃所有转发请求。

      -P OUTPUT ACCEPT:表示接受所有流出请求。

      接受所有的回环流量(推荐设置):

      sudoiptables-AINPUT-ilo-jACCEPT

      sudoiptables-AOUTPUT-olo-jACCEPT

      保存iptables规则

      使用以下命令保存并加载iptables规则:

      sudonetfilter-persistentsave

      sudonetfilter-persistentreload

      在容器环境中,上面的netfilter-persistent很可能无法生效,需要重新设置一下iptables。请执行以下命令重新配置iptables安装包:

      sudodpkg-reconfigureiptables-persistent

      设置流出请求

      允许DNS查询:

      sudoiptables-AOUTPUT-ptcp--dport53-mstate--stateNEW-jACCEPT

      sudoiptables-AOUTPUT-pudp--dport53-mstate--stateNEW-jACCEPT

      使用state模块接受相关的和已建立的请求:

      sudoiptables-AOUTPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT

      sudoiptables-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT

      接受端口请求(如80端口):

      sudoiptables-AOUTPUT-ptcp--dport80-mstate--stateNEW-jACCEPT

      其他常见服务和端口:

      服务协议端口FTPTCP20 & 21HTTPSTCP443DHCPTCP67NTPTCP123

      更多有用的规则

      允许Ping:

      sudoiptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT

      sudoiptables-AOUTPUT-picmp--icmp-typeecho-reply-jACCEPT

      端口转发(把来自2200端口的请求转发给10.0.3.21:22 ,多用于容器场景):

      sudoiptables-tnat-APREROUTING-ieth0-ptcp--dport2200-jDNAT--to-destination10.0.3.21:22

      创建SSH永久连接,阻止未经允许的SSH登录请求:

      sudoiptables-IINPUT-ptcp--dport22-mstate--stateNEW-mrecent--set

      sudoiptables-IINPUT-ptcp--dport22-mstate--stateNEW-mrecent--update--seconds3600--hitcount4-jDROP

      免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

租用海外云服务器怎么维护

租用海外云服务器维护的方法:1、安装最新系统补丁,避免漏洞被蓄意攻击利用;2、安装防火墙,并根据自身网络环境配置防火墙;3、安装杀毒软件,并定期或及时升级杀毒软件;4、关闭不需要的服务和端口,如Tel...

金山云双11活动:1核2G云服务器56元/年,9000元企业新用户代金券免费领

金山云双11活动【11.11上云钜惠】于11月1日开启了,全场0.5折起,1核2G1M云服务器56元/年限购12台,9000元企业新用户代金券免费领取,企业认证新用户专享,包含6张满减券:满500元减...

如何判断香港vps云服务器的好坏

判断香港vps云服务器好坏的方法:1、看线路的快慢,如果是CN2直连线路的,网站打开速度会比较快;2、看是否是独享IP,独享的ip对搜索引擎更为适合,方便后期进行运维管理;3、看云服务商提供的配置是否...

云服务器和vps的区别是什么?云服务器和vps的不同体现在哪?

云服务器和vps的区别是什么?最近几年,随着互联网技术的不断发展,各种设备的名词出现混在一起,让大家一时分不清楚。下面我们来介绍下经常放在一起对比的云服务器和vps的区别。VPS是从一台物理服务器上,...

免备案云服务器怎么选择

免备案云服务器选择的方法:1、如果网站主要访问者面向全世界,选择美国云服务器,互联网资源丰富,访问速度快,价格便宜;2、如果网站主要访问者面向国内,选择国产大陆云服务器,如香港云服务器,稳定性好,访问...

购买美国云服务器时要考虑哪些因素

购买美国云服务器时要考虑的因素有:1、美国云服务器的CPU,根据自身运营目的选择合适的美国云服务器CPU;2、美国云服务器的RAM,根据自身运营需求选择合适的美国云服务器RAM;3、美国云服务器的带宽...