Category Archive: linux

4月 6th, 2022

所有的文件其实都是一串字符流,不过当用合适的解析方法,可以得到有效信息,人们为了方便对文件进行操作,便按照文件的解析方法的不同,给了文件不同的种类,并用下边的方式来标记给人看。

今天在查看 /dev/fuse 文件的属性的时候,看到了crw_ 权限位,一时反应不过来:

[root@localhost ~]# ll /dev/fuse

crw-rw-rw-. 1 root root 10, 229 Sep 20 11:12 /dev/fuse

在这里进行备注一下,相关答案来源于网络。

Linux服务器中c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限。推荐阅读:《怎样通过日志文件学习Linux?》

Linux服务器文件属性解读:

文件类型:

-:普通文件 (f)

d:目录文件

b:块设备文件 (block)

c:字符设备文件 (character)

l:符号链接文件(symbolic link file)

p:命令管道文件(pipe)

s:套接字文件(socket)

文件权限: 9位,每3位一组,每一组:rwx(读,写,执行),当改组不具有某一权限用-代替。

第一组为: 文件拥有者的权限, 该文件的拥有者可以读写,但不可执行;

第二组为: 同群组的权限

第三组为: 其他非本群组的权限

下面看下Linux服务器中的文件种类

(1)普通文件(‘-‘, regluar file)

分为:二进制文件和文本文件

二进制文件,是给机器看的,例如:.bin, .elf文件

文本文件:给人看的,一般为ASCII编码,需要用ASCII编码解析,例如:.txt,.c文件。

(2)文件夹文件 ( ‘d ‘, directory file)

一种特殊的文件,特殊在:需要用其库函数打开。

(3)链接文件 (‘l’, link file)

这里是软连接文件,

注意:软连接文件和硬链接文件的差别,

软连接文件,本身就是一个独立的文件,有自己的 inode,

硬链接文件,不是独立的文件,他和被链接的文件共用同一个 inode.推荐阅读:《Linux独立服务器怎样使用ncat诊断网络》

(4)管道文件 (‘p’, piple file)

用于进程通信。

(5)套接字文件 (‘s’, socket file)

用于网络。

(6)字符设备文件 (‘c’, character file)

为虚拟文件,因为本身不存在于硬盘中,是fs创建的。

不能直接读写,要使用API.

(7)块设备文件 (‘b’, block file)

也是虚拟文件,为fd创建,要使用API读写。

如何获取一个文件的属性?

(1)shell 中使用 stat 命令

(2)程序中使用 stat API

文件的权限

(1)文件权限如何获得?

在程序中使用 stat API,可以获得 st_mode 元素,st_mode 是一个以位为单位记录内容,所以只需要对对应位进行 & 即可,Linux服务器提供了对应的宏,可以用宏。

(2)如何判断程序对文件是否有权限?

首先,程序对文件的权限,是由执行程序的用户决定的,用户有权限,程序就有,用户没有,程序就没有,其次在程序中判断是否有权限使用 access API,最后,优秀程序在执行开始首先要对操作的文件判断权限,如果没有权限,需要对使用者进行提醒。

(3)如何修改权限?

shell中有chmod命令,同样也有chmodAPI,所以使用这个API即可。

(4)新创建的文件的权限是怎么确定的?

 

Linux服务器有个 umask 的类似于变量的东西,新文件的权限通过 umask 来确定。umask可以在shell中改变。推荐相关阅读:《linux虚拟主机在安全性方面怎么样》

5月 15th, 2019

在前一篇文章中,已经介绍了什么是SSH密钥,以及它们是如何工作来帮助提高使用SSH管理服务器的安全性的。此外,还研究了如何在Linux或Mac OSX上创建一个SSH密钥,并将公钥复制到服务器上。这一次,Hostease美国服务器商将为大家介绍如何在使用PuTTY客户端时在Windows中生成密钥,以及如何配置服务器,使其只允许使用密钥作为身份验证方法。

安装PuTTY

当安装PuTTY时,它附带了许多应用程序,以及用于连接到服务器的PuTTY主客户端。其中之一是PuTTYgen,这是用于创建SSH密钥的工具。转到“开始”菜单,滚动到菜单中的PuTTY文件夹并单击PuTTYGen,打开它。该接口很简单,并且在大多数情况下实际上不需要进行任何更改。屏幕底部有要生成的任何键的参数,RSA和2048位都没问题。单击“生成”按钮以创建密钥。它要求滚动鼠标,为随机数发生器创建一些随机数据种子,然后生成密钥。将有一些字段供根据需要向私钥添加密码短语。然后,可以“保存私钥”按钮将私钥保存到计算机,使用“保存公钥”按钮保存公钥。在页面的顶部,还可以在文本框中使用公钥,可以将其复制并粘贴到服务器上。

 为SSH密钥配置PuTTY

现在需要配置PuTTY来使用密钥登录。所以,启动PuTTY,并从将服务器的IP地址或域名放到Host Name(主机名)字段开始。接下来,在左边的菜单中,选择Connection(连接)-》Data(数据)选项,并在打开的屏幕上,在“Auto-login username(自动登录用户名)”字段中填入用户名。现在转到SSH-》Auth部分并单击“浏览”按钮,并选择先前保存的私钥。最后,返回菜单顶部的会话部分,在“保存的会话”部分输入此会话的名称。服务器名是个不错的选择。单击“保存”。以后可以通过在下面的框中选择名称来加载会话详细信息。完成后,就可以像以前一样使用密码连接到服务器,以便在该终端配置SSH密钥。

连接到服务器后,需要更改主目录中的.ssh目录,如果目录不存在,则需要先创建,使用创建的文件,现在可以添加密钥。首先打开authorized_keys文件,然后进行编辑,粘贴之前从PuTTYgen复制的公钥,然后保存并退出文件。现在应该能够断开与服务器的连接,然后重新连接。这一次会提示输入私钥的密码短语(如果设置了),然后连接到服务器

用户设置了要连接的SSH密钥,以及服务器的其他用户之后,最后要做的就是禁用密码登录。如果不这样做,服务器会受到比之前更严重的暴力攻击,在禁用密码登录之前,需要编辑SSH配置文件,这些步骤已经完成了。建议期间不要断开与服务器的连接,但是首先要创建一个到服务器的新连接,以确保一切都能正常工作,如果在发现有问题时立刻断开连接,可能无法重新连接上服务器。

现在一切都就绪了,服务器现在使用SSH密钥进行安全保护,这意味着只有拥有有效私钥和密码的人才能访问服务器。以上就是关于SSH密钥的全部介绍,如果还有疑问,可以访问Hostease美国服务器官网咨询客服。

5月 15th, 2019

近年来的各种研究强调了一个事实,即人们平时有太多的密码需要记住。此外,建议使用更长更复杂的密码,这更像是随机的文本字符串,但会使记忆起来变得更加困难。密码分析表明,大多数密码的长度在七到十个字符之间,现代计算机的处理能力使得暴力攻击这些密码相对容易。当依靠密码来保护服务器的管理时,这可能是一个很大的风险。SSH密钥是长、难的密码的解决方案。

增强安全性:SSH密钥

更长、更复杂的密码来的安全性更高。然而,SSH有另一种解决方案:SSH密钥。钥匙是成对的,一个私人的,一个公共的。公钥可以在任何地方自由共享,而私钥则需要保持安全。只要是正确产生的算法,就不可能从公钥反向破解出私钥。这两个密钥基本上是很长的字符串,它们在数学上是相互联系的,使用私钥加密的消息只能使用公钥解密。同样,使用公钥加密的消息只能使用私钥解密。当使用SSH密钥时,要在本地计算机上保证私钥的安全和安全,私钥要连接到的服务器。密钥用于身份认证,如果使用者愿意,可以在多个服务器上使用相同的密钥对。由于私钥中字符串的长度,计算机几乎不可能使用密钥暴力攻击服务器。当连接到服务器时,服务器将检查正在连接用户的授权密钥文件,并向使用授权公钥加密的连接客户端发送消息。如果客户端具有匹配的私钥,那么它将能够成功地解密消息并响应服务器。这将验证正确,成功连接用户的身份。黑客攻击是一直存在的,安全性相关的内容推荐阅读 怎样保护服务器不受黑客入侵

安装SSH密钥

如果使用的是Linux或Apple Mac OSX,可以轻松地生成一个SSH密钥,并使用几个命令将其安装到远程服务器上。首先,需要生成密钥。要在桌面上执行此操作,请打开终端窗口并使用以下命令:

系统将提示为密钥设置密码短语。密码短语可用于防止未经授权的个人使用私钥。这可以设置为空,并且与服务器的连接将与设置的连接一样安全。如果有人持有私钥,而有一个空白的密码短语,那么他们可以使用密钥连接到使用它的服务器,而不会有任何问题。如果确实设置了密码短语,那么在使用私钥之前,他们需要强制执行该密码。因此,如果发现私钥已被泄露,在被盗的私钥用来攻击服务器之前,密码短语将争取在服务器上更改密钥的时间。

设置好密码后,将生成密钥,通常为私钥的id_rsa和公钥的id_rsa.pub,下一步是将公钥复制到目标服务器,Linux用户可以轻松做到这一点。在这种情况下,将“用户”替换为在服务器上使用的用户名,将“server.example.com”替换为要连接的服务器的域名或IP地址,复制默认公钥。对于Mac OSX用户来说,这并不简单,但是可以通过这一行程序实现同样的效果。与前面一样,将用户名的“用户”改为“server.example.com”,将其改为服务器的域名或IP地址。它将获取公钥文件的内容,并通过管道连接到ssh命令,该命令将为用户创建一个.ssh目录,然后将公钥的内容添加到authorized_keys文件中。

本文还没有完全结束。下一次的内容Hostease美国服务器商将研究如何通过阻止使用密码登录来提高服务器端的安全性,同时还将研究Windows用户如何使用PuTTY的密钥连接到服务器。更多关于Linux服务器的安全性问题,有兴趣的朋友可以了解 Linux虚拟主机在安全性方面怎么样

5月 10th, 2019

linux虚拟主机的操作系统是linux,它的资源来自服务器上,通过划分多个独立访问权限的资源供不同的用户使用,不同的用户独立操作和访问账号下的各类数据类型文件(包含证书,邮件,数据库,网站代码),每个用户只能操作自己家目录下的文件和目录。主机分配给用户的资源是隔离的,独立的,互相不干扰。

Linux虚拟主机系统高稳定

linux虚拟主机具备linux系统的诸多优点:运行稳定,它的代码都是透明可见的,通过ssh登陆访问,执行shell命令查看日志输出,检查服务日志中记录的错误,保证系统正常运行。

Linux虚拟主机兼容各类软件

windows系统在安装各种软件时候,先选择软件版本才可以安装和部署,一旦安装报错可能出现蓝屏或其他致命错误引起系统崩溃,更有主机重启无法正常引导的问题。

linux虚拟主机,使用开源linux操作系统,应用软件安装与部署通过shell命令执行完成。

Linux虚拟主机具备可靠的安全性

除了稳定、兼容外,linux虚拟主机还有一个十分显著的优势,就是安全。目前市面上绝大多数病毒和恶意程序都是针对win系统开发,而Linux系统对此先天免疫;又由于代码开源,即使linux不幸感染病毒,维护人员也容易查出运行异常之处,并加以解决。同时,linux系统利用防火墙、入侵检测和安全认证工具,修补系统漏洞,达到系统安全性提升。更多关于Linux虚拟主机安全性的介绍可以参考阅读 Linux虚拟主机在安全性方面怎么样?

Linux虚拟主机具备网络功能

Linux虚拟主机支持如Apache、Sendmail、VSFtp、SSH、MySQL、PHP。

Linux虚拟主机支持多用户多任务并行处理

Linux虚拟主机是支持多用户的,每个用户都有独立的用户家目录;每个任务就是一个进程,Linux调度每一个进程以平等的方式访问处理器,并行处理多个任务,使各程序同时并行处理而运行时互相独立。

以上就是Hostease美国服务器商介绍关于Linux操作系统虚拟主机的一些内容,顺便推荐一篇相关内容 Linux虚拟主机为什么比较受欢迎

4月 26th, 2019

几十年来,微软Windows一直是桌面计算和办公网络的首选操作系统,而Linux发行版已成为最常用的虚拟主机或独立服务器服务器的操作系统,本文Hostease美国服务器商主要就Linux操作系统的发行版本做一个相关介绍。Windows有很多不同的版本,如服务器版、主页版、专业版和企业版,每个版本都以其功能进行命名。但是,当考虑Linux操作系统时,有许多选项可以选择,称为发行版。对于初学者来说,各种各样的Linux版本可能非常令人困惑。

什么是Linux?

Linux只是从Linux发行版获得的内容的一小部分。对于每个Linux发行版,Linux部分是操作系统内核,充当正在运行的软件和计算机硬件之间的接口。就其本身而言,Linux是相当无用的,而且在早期,它只是作为源代码发布的。Linux发行版的出现是为了使Linux更易于使用,它包括一个编译好的Linux内核和一系列使用该计算机所需的其他软件。这些发行版使Linux从学术上的兴趣转向成为Unix可行的替代操作系统的一部分。

了解Linux发行版

随着时间的推移,这些发行版从一个便利版本变成了用户获得Linux的主要方式,同时提供了一个可随时使用的发行版的精选软件。Linux发行版使用包管理器来处理存储在存储库中的软件的安装。现在有数百个Linux发行版,其中大部分基于三个最古老的发行版之一:Slackware、Debian和Red Hat。这就引出了Linux新手通常会问的一个问题:“为什么会有这么多发行版本?”

Linux发行版成为获取和安装Linux以及获取许多有用的软件工具的快捷方式后,用户就开始定制发行版以更好地满足他们的需要。当用户建立了不同的目标时,发行版也变得不同。例如,Debian专注于提供一个稳定且经过良好测试的操作系统和相关软件。Ubuntu从Debian分离开来以维护Debian基础,但也提供了更多最新的软件,以便在默认情况下提供更安全、更易于使用的操作系统。

虽然Debian提供了一个Linux发行版的单一下载,但Ubuntu提供了不同的桌面和服务器下载,其软件包主要针对不同的角色。例如,桌面版本带有图形用户界面,而服务器版本只有命令行界面。虽然核心的Debian分布和Ubuntu分布之间存在一些强烈的差异,但Ubuntu推出了许多发行版。主要区别在于Ubuntu使用了各种默认的图形用户界面和相关软件。

软件包并不是发行版之间的唯一区别。实际上,不同的发行版可以将配置文件存储在不同的位置,甚至可以在配置文件中使用不同的格式来实现相同的目的。这在设置运行Debian的服务器和运行CentOS的服务器时非常明显。两个发行版之间的另一个显著区别是它们都使用不同的包管理系统,这意味着简单地安装软件可能会有些不同。

Linux发行版可用于托管

在选择托管服务器的Linux发行版时,最常用的是Debian、Ubuntu和CentOS。不过,任何用于服务器使用的Linux发行版都满足用户需求,并将提供在发行版的存储库中可能需要的软件包。所有发行版通常都可以实现相同的目的,但是在选择发行版之前,请考虑使用这些教程。如果是第一次使用Linux,那么可能需要使用教程或入门指南指南。由于发行版的差异,指南往往是特定的。因此,最好选择一个拥有丰富且实用指南的发行版。

更多关于Linux相关的内容可以访问Hostease美国服务器官网,我们有专业的团队为您解答疑惑。此外,推荐阅读 Linux操作系统虚拟主机安全性到底怎么样

8月 7th, 2018

如何在Linux下链接VPN

VPN的搭建是非常普遍的,因为很多外贸企业,需要了解网站在当地的运行和SEO优化情况,以更好地把握广告投放及营销方案的制定。这样以来VPN的搭建就非常必要了。今天,小编就为大家讲述下如何在Linux操作系统服务器下链接VPN,在这里我们以CentOS为例。

HE vpn

第一步:安装PPTP协议:

yum -y install ppp pptp pptp-setup

第二步:安装后,添加一个VPN的配置:

pptpsetup –create pptpd –server 103.195.187.206 –username juanhao.z –password Adjlsk@123 –encrypt –start

–create是创建的连接名称

–server是vpn的ip地址

–username是用户名

–password是密码,也可以没这个参数,命令稍后会自动询问。这样可以保证账号安全

–encrypt 是表示需要加密,不必指定加密方式,命令会读取配置文件中的加密方式

–start是表示创建连接完后马上连接

vpn建立好之后,可以通过 pon 和 poff 连接和断开vpn服务

一、创建bash命令:

cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/

cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/

chmod +x /usr/sbin/pon

chmod +x /usr/sbin/poff

二、在创建好以后,通过命令直接快捷打开/关闭VPN:

pon pptpd /连接名称为vpntest,vpn服务

poff pptpd /断开名称为vpntest,vpn服务

三、删除VPN连接通道:

pptpsetup –delete pptpd

四、通过刚才的创建脚本,在/etc/ppp/peers目录下面,会生成一个叫myvpn的文件。

cat /etc/ppp/peers/pptpd

五、在/etc/ppp目录下面,用户名和密码会写在chap-secrets文件中。

cat /etc/ppp/chap-secrets

通过以上步骤便可以在Linux操作系统服务器成功链接VPN,在搭建的过程中,注意仔细认真,以防出现细节错误,导致链接失败。想要更好地运营网站和VPN的正常搭建,还是需要有一个良好的Linux主机做基础。有关Linux主机,小编使用很多品牌,感觉用着性价比比较高、服务态度好的还数hostease,毕竟是老品牌主机商,服务器管理经验丰富,在安全、稳定性方面做的还是比较好的。

有关Linux下链接VPN的讲述大致就是这些,后面小编还会为大家介绍一些有关服务器及网站搭建方面的技术知识,如果有兴趣,欢迎继续关注小编哦。

相关阅读:Windows2003服务器怎样配置VPN

7月 17th, 2018

lsof命令是什么?

可以列出被进程所打开的文件的信息。被打开的文件可以是

1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链接

8.底层的socket字流,网络socket,unix域名socket

9.在linux里面,大部分的东西都是被当做文件的…..还有其他很多

怎样使用lsof

这里主要用案例的形式来介绍lsof 命令的使用

1.列出所有打开的文件:

lsof

备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位

2. 查看谁正在使用某个文件

lsof /filepath/file

3.递归查看某个目录的文件信息

lsof +D /filepath/filepath2/

备注: 使用了+D,对应目录下的所有子目录和文件都会被列出

4. 比使用+D选项,遍历查看某个目录的所有文件信息 的方法

lsof | grep ‘/filepath/filepath2/’

5. 列出某个用户打开的文件信息

lsof -u username

备注: -u 选项,u其实是user的缩写

6. 列出某个程序所打开的文件信息

lsof -c mysql

备注: -c 选项将会列出所有以mysql开头的程序的文件,其实你也可以写成lsof | grep mysql,但是第一种方法明显比第二种方法要少打几个字符了

7. 列出多个程序多打开的文件信息

lsof -c mysql -c apache

8. 列出某个用户以及某个程序所打开的文件信息

lsof -u test -c mysql

9. 列出除了某个用户外的被打开的文件信息

lsof -u ^root

备注:^这个符号在用户名之前,将会把是root用户打开的进程不让显示

10. 通过某个进程号显示该进行打开的文件

lsof -p 1

11. 列出多个进程号对应的文件信息

lsof -p 123,456,789

12. 列出除了某个进程号,其他进程号所打开的文件信息

lsof -p ^1

13 . 列出所有的网络连接

lsof -i

14. 列出所有tcp 网络连接信息

lsof -i tcp

15. 列出所有udp网络连接信息

lsof -i udp

16. 列出谁在使用某个端口

lsof -i :3306

17. 列出谁在使用某个特定的udp端口

lsof -i udp:55

特定的tcp端口

lsof -i tcp:80

18. 列出某个用户的所有活跃的网络端口

lsof -a -u test -i

19. 列出所有网络文件系统

lsof -N

20.域名socket文件

lsof -u

21.某个用户组所打开的文件信息

lsof -g 5555

22. 根据文件描述列出对应的文件信息

lsof -d description(like 2)

23. 根据文件描述范围列出文件信息

lsof -d 2-3

TAGS:
7月 17th, 2018

第一步要做的是通过 SSH 连接到你的 Linux。在 Linux 中查找文件有两种方法。一种是使用find 命令,另外一种是使用locate 命令。

如何在 Linux 中查找一个文件如何在 Linux 中查找一个文件
find 命令

使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:

# find path expression search-term

下面是使用 find 命令根据文件名来查找特定文件的一个例子:

# find -name test.file

命令会搜索整个目录树来查找名为test.file 的文件,并且会提供其存放位置。你可以使用你 Linux 上一个存在的文件名来尝试一下。

find 命令有时会花费几分钟来查找整个目录树,尤其是如果系统中有很多文件和目录的话。要显著减少时间,你可以指定搜索的目录。比如,如果你知道 /var中存在 test.file,那就没有必要搜索其它目录。这样,你可以使用下面的命令:

# find /var -name test.file

find 还可以根据时间、大小、所属人、权限等选项搜索文件。要了解更多关于这些选项的信息,你可以使用查看Linux find 命令的手册。

# man find

locate 命令

要在Linux中使用locate命令,首先需要安装它。

如果你正在使用 Ubuntu,运行下面的命令来安装 locate:

# apt-get update# apt-get install mlocate

如果你使用的是 CentOS ,运行下面的命令来安装 locate:

# yum install mlocate

locate 是一种比 find 更快的方式,因为它在数据库中查找文件。要更新搜索数据库,运行下面的命令:

# updatedb

使用 locate 查找文件的语法:

# locate test.file

就像 find 命令一样,locate 也有很多选项来过滤输出。要了解更多你可以查看Linux Locate 命令的手册。

# man locate

希望这篇文能够帮到您,谢谢。

原文来自:https://linux.cn/article-8016-1.html

本文地址:http://www.linuxprobe.com/how-linux-find.html

TAGS:
7月 17th, 2018

查看时区列表: timedatectl list-timezones|grep Asia

设置中国时区: timedatectl set-timezone Asia/Shanghai 执行完后时间就变为北京时间了

查看当前时间: date

查看当前设置:

[root@localhost ~]# timedatectl

Local time: Mon 2017-10-09 16:44:08 CST

Universal time: Mon 2017-10-09 08:44:08 UTC

RTC time: Mon 2017-10-09 08:44:08

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: yes

NTP synchronized: yes

RTC in local TZ: no

DST active: n/a

如果没有系统没有安装ntp服务器的话可以安装yum install ntp -y

然后编辑ntp的配置文件vi /etc/ntp.conf (日志文件默认在/var/log/messages中),添加以下几个服务器域名,如果原配置文件没有的话

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

systemctl restart ntpd

systemctl enable ntpd

这样,服务器端就配置得差不多了,但我为了让效果更明显,把服务器修改为纽约时区,另一台需要同步的linux客户端的时区修改为非洲时间,结果导致,客户端ntpdate之后没有同步,后来才发现,需要在同一时区内才能同步时间,也就是说,服务端和客户端的时区必须在中国这个时区内才可以

下面来测试我们的ntp服务器配置有没有成功

在服务器端(ip:10.0.3.66)上

使用date -s 23:30:30 (时间可以随便改,反正改一个跟客户端时间不一样的就可以了),然后date可以看到时间变成了23:30:30

在客户端上

ntpdate 10.0.3.66 执行后发现,时间也变成了23:30:30

TAGS: ,
7月 17th, 2018

#!/bin/bash
export PATH=/sbin:/usr/sbin:/bin:/usr/bin

iptables -F
iptables -X
iptables -Z

#远程SSH登陆,我们要开启22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT

#WEB服务器,开启80端口
iptables -A INPUT -p tcp –dport 80 -j ACCEPT

#邮件服务器,开启25,110端口.
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
iptables -A INPUT -p tcp –dport 25 -j ACCEPT

#FTP服务器,开启20,21端口

iptables -A INPUT -p tcp -m multiport –dport 21,60000:60050 -j ACCEPT
#如果做了DNS服务器,开启53端口

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p udp –sport 53 -j ACCEPT
iptables -A INPUT -p udp –dport 53 -j ACCEPT
#对PING做设置
#iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP
#所以对别人的请求丢弃应该就可以达到别人无法PING的
#iptables -A OUTPUT -p icmp –icmp-type 0 -s localip -j DROP
#其实可以不要 包都丢弃了 还怎么会发出响应的包呢

iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j ACCEPT
iptables -A INPUT -p icmp –icmp-type 0 -s 0/0 -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type 0 -s $FW_IP -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type 8 -s $FW_IP -j ACCEPT

#开放本机对外部80端口
iptables -A INPUT -p tcp ! –syn -s any/0 –sport 80 –dport 1024:65535 -j ACCEPT
iptables -P INPUT DROP

/etc/rc.d/init.d/iptables save
service iptables restart

TAGS: