Linux防火墙设置-DNS服务器篇

简介:

     亲测可用,对于刚刚搭建了DNS服务器,需要开启防火墙但又不知道该怎么设置的朋友,可以参考下面的内容,或者直接使用我下面给出的脚本程序。

    如果服务器是作为DNS服务器使用的,针对绝大多数的情况,为了开启防火墙同时又能正常地提供相关的服务,一般的设置如下:


【1】第一步:清除默认防火墙规则

1
2
3
iptables -F
iptables -X
iptables -Z

·参数说明:

-F:清除所有的已制定的规则

-X:清除所有用户自定义的chain(应该说的是tables)

(扩展:table--Linux的iptables防火墙默认有三种表,Filter、NAT与Mangle,当然还有自定义的,其中Filter即是默认使用的表格,chain--条链,比如filter有INPUT、OUTPUT、FORWARD三条链)

-Z:将所有的chain的计数与流量统计清零

·设置原因:

filter的三条链中,默认策略都为ACCEPT,显然对于INPUT来说,这是很危险的,可以使用命令iptables -L -n来查看默认设置,或者使用iptables-save命令(会列出更详细的防火墙配置信息)。


【2】第二步:设置策略

1
2
3
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

·设置原因:

DROP为丢弃,由1中可知,INPUT策略制定为DROP时才比较安全。



【3】第三步:根据所需服务制定各项规则


(1)将本机设置为信任设备

1
iptables -A INPUT -i lo -j ACCEPT

(2)制定ssh远程连接规则

1
iptables -A(添加) INPUT(链路) -p(指定协议) tcp(指定为TCP协议) --dport(指定目标端口号) 22(指定目标端口号为22) -j(指定操作) ACCEPT(指定操作为接受)

(3)制定dns服务规则

1
2
3
4
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

·说明:

允许新的dns请求,同时允许以nslookup的方式来向服务器查询,即以源端口号53来查询dns信息。

(4)制定其它规则

1
iptables -A INPUT -p icmp -j ACCEPT

·说明:

可不用,但为了方便检测服务器的网络连通性,所以还是加上。


【4】写入防火墙配置文件

1
/etc/init .d /iptables  save

·说明:

要保存,否则重启服务器后上面所做的配置会失效。


完整的执行脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
PATH= /sbin : /bin : /usr/sbin : /usr/bin export  PATH
iptables -F
iptables -X
iptables -Z
 
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53  -j ACCEPT
iptables -A INPUT -p tcp --sport 53  -j ACCEPT
iptables -A INPUT -p udp --sport 53  -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
 
/etc/init .d /iptables  save

保存为.sh文件,以管理员权限执行即可。


其它常用命令:

查看防火墙简要配置

1
iptables -L -n

查看防火墙详细配置

1
iptables-save


重要说明:

    进行防火墙的配置一定要格外小心,特别在远程做配置时,如果不小心清除了已定义的规则,又把默认的INPUT规则设置为DROP,这时就没有办法远程连接了,这点特别要注意。





本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1707025,如需转载请自行联系原作者

相关文章
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
10月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
11月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
网络协议 Ubuntu
在Ubuntu 18.04/20.04 LTS设置静态DNS服务器的过程。
以上步骤提供了一种简洁明了的指导,让用户能够在Ubuntu系统中有效设置静态DNS服务器,这对日常管理和网络配置来说是非常实用的技能。
1878 18
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
728 24
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3793 0
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
714 20
|
数据采集 人工智能 BI
MyEMS能源管理系统后台配置-邮件服务器设置
本文介绍其邮件服务器配置方法。
205 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS