linux 如何禁止IP访问http服务器

linux 如何禁止IP访问http服务器,第1张

Linux系统中,如果需要禁止特定ip地址访问来保证系统的安全,只需通过操作iptalbes来实现,下面就给绍下Linux如何禁止某个ip地址访问。

一、概述

这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。这两个配置文件的格式如下:

#服务进程名:主机列表:当规则匹配时可选的命令操作

server_name:hosts-list[:command]

/etc/hostsallow控制可以访问本机的IP地址,/etc/hostsdeny控制禁止访问本机的IP。如果两个文件的配置有冲突,以/etc/hostsdeny为准。

/etc/hostsallow和/etc/hostsdeny两个文件是控制远程访问设置的,可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。

比如SSH服务,通常只对管理员开放,那就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。

二、配置

1、修改/etc/hostsallow文件

#

# hostsallow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server

#

sshd:21013218:allow

sshd:2227715:allow

all:21824129110 #表示接受110这个ip的所有请求!

intelnetd:140116440/2552552550

intelnetd:140116790/2552552550

intelnetd:14011614199

intelnetd:LOCAL

smbd:19216800/2552552550 #允许1921680网段的IP访问smbd服务

#sendmail:19216810/2552552550

#pop3d:19216810/2552552550

#swat:19216810/2552552550

pptpd:all EXCEPT 19216800/2552552550

httpd:all

vsftpd:all

以上写法表示允许210和222两个ip段连接sshd服务(这必然需要hostsdeny这个文件配合使用),当然:allow完全可以省略的。

ALL要害字匹配所有情况,EXCEPT匹配除了某些项之外的情况,PARANOID匹配你想控制的IP地址和它的域名不匹配时(域名伪装)的情况。

2、修改/etc/hostsdeny文件

#

# hostsdeny This file describes the names of the hosts which are

# not allowed to use the local INET services, as decided

# by the ‘/usr/sbin/tcpd’ server

#

# The portmap line is redundant, but it is left to remind you that

# the new secure portmap uses hostsdeny and hostsallow In particular

# you should know that NFS uses portmap!

sshd:all:deny

intelnet:ALL

ALL:ALL EXCEPT 19216801/2552552550,192168121,

2021050/2552552550

注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。

3、启动服务。

注意修改完后:

#service xinetd restart

才能让刚才的更改生效。

小鸟云服务器niaoyun实例创建好之后,您可以使用以下任意一种方式登录服务器:

远程桌面连接(MicrosoftTerminalServicesClient,MSTSC):采用这种方式登录,请确保实例能访问公网。如果在创建实例时没有购买带宽,则不能使用远程桌面连接。

管理终端VNC:无论您在创建实例时是否购买了带宽,只要您本地有网页浏览器,都可以通过管理控制台的管理终端登录实例。

使用远程桌面连接(MSTSC)登录实例

打开开始菜单>远程桌面连接,或在开始菜单>搜索中输入mstsc。也可以使用快捷键Win+R来启动运行窗口,输入mstsc后回车启动远程桌面连接。

在远程桌面连接对话框中,输入实例的公网IP地址。单击显示选项。

输入用户名,如小鸟云默认为niaoyun。单击允许我保存凭据,然后单击连接。这样以后登录就不需要手动输入密码了。

通过IP地址访问网站,不需要任何设置,只要服务器能够正常访问,并且允许80端口,那么就可以通过地址访问了。

但是公网IP现在管理很严格,如果不经当地ISP报批,就不能开启80端口,也就无法访问服务器了。

所以先去服务器的ISP报批服务器地址吧。

因为是虚拟主机。

主机上放置了N个网站,而每个网站绑定1个或以上域名,所以用域名访问主机可以解析到网站目录,但用IP的话服务器就不知道解析到哪个目录了。

如果就想用ip形式访问,可以手动设置Host头域信息。

java中以orgapachehttpclientmethodsHttpGet实现http请求为例,解决方法HttpGet httpGet = new HttpGet(url);

httpGetsetHeader(“Host”, ServerHostname);

扩展资料:

1、直接使用ip地址访问不了站点的原因

原因就在于该ip地址可能对应着多个web站点,单单依靠ip地址是不知道如何匹配到哪个web站点的。但是通过域名,我们就能够知道具体要访问哪一个HOST。如果使用虚拟主机,直接找到相关virtual HOST即可,如果使用反向代理,那么通过代理找到HOST的实际私网地址也可以。

2、只有一个公网ip如何实现多个WEB站点的访问

有两种办法可以实现,其一是虚拟主机,其二就是反向代理。通过目前来看,虚拟主机的实现方式已然不多,更多的企业或者学校使用的是反向代理技术。

如图中所示,R1和R2模拟成两台服务器并且提供相同的服务(地址分别为1721611 ,1721612),R3是交换机,R4是边界路由器也就是内部服务器的网关所在路由器(内网口地址为172161254 ),R5充当公网并且有环回口5555,在R4上的E0/0(地址为2222222221) 接口开启PAT,使得内网服务器可以访问外网R5的 5555

如图:

这时就进入关键性阶段了,1:写一条ACL来匹配公网路由,access-list 2 permit 2222222221

2:定义一个以内部服务器为地址的池:ip nat pool ccna 1721611 1721612 netmask 2552552550 type rotary (最后这两个一定要有意思就是让这些地址轮循)

3:将ACL跟地址池关连起来:ip nat inside destination (注意这个不是source) list 2 pool ccna

最后就是在R1,R2的line vty 0 4 下打no login 允许外网的登陆。

这时可以检验结果了,,在R5上telnet 2222222221 可以发现第一次时进入R1,第二次就进入R2了,

这 样就达到了两个服务器的负载均衡了。。当然这种情况是在多个服务器提供相同的服务的前提下才好用。

但是对于内部有多台服务器要同时开放一个相同的端口但是又只有一个公网IP时该怎么办呢?

图中标出了拓扑的详细结构,服务器地址分别为1721612 和1721613 ,网关为1721611 ,然后同样的跟上边一个实验一样,在边界路由器做基于接口的PAT转换,使得服务器可以访问公网,然后我们就开始在边界路由器上配置端口跟ip地址的映射,通常情况下我们都认为映射是这样写: ip nat inside source static tcp 1721612 80 2222222221 80 然后会发现下一台服务器没法再做相同端口的映射了,,因此我们就必需改变上面的命令来使得另一台服务器也可以基于80端口的映射:这进命令就可以改成:ip nat inside source static tcp 1721612 80 2222222221 100 与

ip nat inside source static tcp 1721613 80 2222222221 101 这样的两条映射。。那么这样写的映射是否真的可行呢?那就让我们一起来检验下成果,首先必需在两台服务器上面的HTTP上面写上一些内容以做为区分。。

最后就是在最右边的PC上边打开WEB页面,输入地址:2222222221:100 就会看到这个现象,,

说明我们己经可以访问内部的一台服务器了。

然后再输入:2222222221:101 可以看到有

仔细看地址下面的字母两次登陆时结果是不一样的。。。这就说明我们可以利用这一个公网IP来映射多个内网的服务器了。。

1、在电脑桌面使用快捷键win键+R唤出运行窗口,输入secpolmsc,点击确定。

2、在左侧找到IP安全策略,在本地计算机并在其上方点击右键,在弹出的菜单中点击创建IP安全策略。

3、点击下一步,在名称中输入禁止特定IP访问。

4、在弹出的窗口中点击添加,选中新建IP筛选器列表,点击编辑。

5、点击添加、下一步,描述随便填写,然后点击下一步。

6、点击下拉菜单中选中一个特定的IP地址和子网,在下方IP地址和子网中输入需要禁止访问的特定IP,然后点击下一步。

7、在主界面根据提示输入共享文件服务器的IP地址,点击保存,最后点击隐藏。

注意事项:

为了能适应异构网络,IP强调适应性、简洁性和可操作性,并在可靠性做了一定的牺牲。IP不保证分组的交付时限和可靠性,所传送分组有可能出现丢失、重复、延迟或乱序等问题。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux 如何禁止IP访问http服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情