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

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

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

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

ubuntu16.04云服务器如何使用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

其他常见服务和端口:

服务 协议 端口
FTP TCP 20 & 21
HTTPS TCP 443
DHCP TCP 67
NTP TCP 123

更多有用的规则

允许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

分享到 :
相关推荐

使用国外vps服务器建站好吗

使用国外vps服务器建站好:1。国外vps服务器不用备案。能快速部署和上线网站;2。...

中国大陆服务器与香港服务器选什么建站好(大陆服务器和香港服务器有什么区别吗)

随着互联网的快速发展。现在大家网站早已不是一件新鲜的事情。而搭建网站。最重要的事情之...

云服务器的管理方式你了解吗(知识科普)

大数据时代,数据是企业的重要资产,从客户信息到商业机密,这些数据都是企业需要好好保护...

Namecheap共享虚拟主机怎么样

很多站长都知道Namecheap是一家国外域名注册商。也有主机托管业务。性价比还是很...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注