linux hosts.allow 只允许adsl动态ip登录

【场景】公司采用ADSL拨号上网,即上网获得是动态IP。

服务器安全策略升级,只允许公司内可以访问服务器。

实现过程:

服务器指定固定IP可以访问服务器,其实很容易,一般有以下三下方法:

方法一:
在/etc/hosts.allow中添加允许ssh登陆的ip或者网段    
sshd:192.168.1.2:allow 或者
sshd:192.168.1.0/24:allow 
在/etc/hosts.deny添加不允许ssh登陆的IP
sshd:ALL           #ALL表示除了上面允许的,其他的ip 都拒绝登陆ssh
方法二:
使用iptables。   
iptables -A INPUT -p tcp -s 192.168.1.2 --destination-port 22 -j ACCEPT 
iptables -A INPUT -p tcp --destination-port 22 -j DROP 
方法三:
修改ssh配置文件
vi /etc/ssh/sshd_config 
添加一行: 
allowusers [email protected]  
注:xxx为你用来登入服务器的用户名。

我以方法一实现,限制ADSL动态IP进行登录,

方法简单:通过花生壳或者到kmdns注册账户,这样就会得到一个域名,我们在公司内网登录这个账户,

在服务器上解析得到IP就可以了。

我用的是TPLINK的路由器本身支持动态域名账户登录,好了,拿来直接用了。

在服务器用脚本实现

先配置hosts.allow文件,按以下格式配置

sshd:13.18.4.36:allow
[email protected]:/var/scripts# vi /etc/hosts.allow 
# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you‘re going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
sshd:13.18.4.36:allow

编写获得动态域名IP并替换allow文件中内容脚本,

dig +short直接解析域名得到IP很简单

[email protected]:/var/scripts# vi getip.sh
 
#!/bin/bash

#解析得到myku.kmdns.net动态域名IP
getip=`dig +short myku.kmdns.net`

#得到原来allow文件中的IP
oldip=`cat /etc/hosts.allow|grep sshd |awk -F‘:‘ ‘{print $2}‘|head -n1`

if [ $getip != $oldip ]

    then
    sed -i "s/$oldip/$getip/g" /etc/hosts.allow
 
else
   exit

fi

[email protected]:/var/scripts# chmod 777getip.sh

然后加入到自动任务中,每分钟检测一次

#allow myku ip to login server

*/1 * * * * /var/scripts/getip.sh  > /dev/null 2>&1

别忘了/etc/hosts.deny添加不允许ssh登陆的IP
sshd:ALL           #ALL表示除了上面允许的,其他的ip 都拒绝登陆ssh

这样子就实现了hosts.allow 只允许adsl动态ip登录功能。

同理,我们也可以用另两个方法,这里就不多讲了。

时间: 2024-10-14 00:37:37

linux hosts.allow 只允许adsl动态ip登录的相关文章

ecshop 完美解决动态ip登录超时和购物车清空问题

ecshop 完美解决动态ip登录超时和购物车清空问题 ECSHOP模板/ecshop开发中心(www.68ecshop.com) / 2014-05-06 前一段时间,ECSHOP开发中心的一个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出.而且购物车也没规律的会清空.刚开始一直找不到原因,到最后才知道了.他说的状况是由于像学校,公司一类的局域网.ip变化的原因造成的.ecshop存登录和购物车信息的时候用的是session,所以用cookie能够解决这个问题. 1.购物

架设自己的私有github+数据中心,并通过域名访问(支持adsl动态ip)

如果可以随时随地,用任何设备(手机电脑ipad)访问自己的所有工程,以及数据文件.歌曲.电影.照片等等,那该有多诱人呀,下面介绍一下具体方法. 安装环境:ubuntu server 14.04 1:安装gitlab(开源的版本管理服务器,模仿github写的) 下载安装gitlab 官方说明文档:https://about.gitlab.com/downloads/ 安装gitlab前,首先需要安装openssh和postfix,如果安装系统选择软件包时直接选上openssh-server,这时

ADSL 动态IP拨号VPS 软件配置

http://yun.baidu.com/share/link?uk=2520566727&shareid=330788421&third=0&adapt=pc&fr=ftw FTP工具http://www.hackhome.com/XiaZai/SoftView_118458.html ADSL自动换iphttp://apmserv.s135.com/ php集成环境下载 xp下可以用

成功使用自家服务器+ADSL动态IP绑定域名

系统:win7+Ubuntu 14.04网络设置:千兆网卡外网:100M家用光纤无固定IP路由:Mikrotik ROS RB951Ui-2HnD 内网路由:192.168.88.1 内网linux系统IP:192.168.88.89 已安装好lnmpa,还未建立虚拟主机 本来用花生壳弄,但设置太麻烦所以放弃了,找到了NAT123,虽然是免费级,但操作相对容易 Linux系统本来用CentOS,但怎么都装不上MONO,不知何解,所以转向用Ubuntu NAT123支持的功能很多,有远程开机域名映

网站在线后台只允许内网ip登录

公司ip   ***.145.36.*** 服务器ip    ***.96.155.*** 1.   路由器设置   所有通往***.96.155.***的流量走wlan2. 2.   vhost设置 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot"/var/www/html" <Directory /var/www/html> AllowOverrideAll #Requireall 

Linux 如何设置只允许域名访问站点而禁止IP访问站点

最近在论坛里看到有人问到 Linux 如何设置只允许域名访问站点而禁止IP访问站点的问题,之前自己也用过这个功能,可以防止别人用 IP 地址来访问到自己的网站,下面我就我自己的环境给出解决方法,我用的是 OneinStack 的一键包,LANMP 环境,其实都差不太多,大同小异,只要理解了原理,下面的就好办了. 具体方法为:找到 apache 的配置文件,我的环境下路径为:/usr/local/apache/conf/httpd.conf,在文件最下面,Include conf/vhost/*.

Linux下设置静态IP和获取动态IP的方法

Linux下为机器设置静态IP地址: vim  /etc/sysconfig/network-scripts/ifcfg-eth0 修改这个文件内容如下形式: # Intel Corporation 82541GI Gigabit Ethernet Controller DEVICE=eth0 BOOTPROTO=static    #为静态的 HWADDR=00:15:17:B2:DC:B5 ONBOOT=yes IPADDR=10.20.134.199 #这个是设置的静态IP地址 NETMA

Linux 静态IP动态IP设置

1.设置动态IP ifconfig eth0 192.168.1.12 设置后立即生效,重启机器后就无效了 2.设置静态IP 编辑文件 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes HWADDR=00:0c:29:16:e5:8c 添加: IPADDR=192.168.1.12 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 TYPE=Ethern

Linux网络基础番外篇(IP、MAC、TCP)

linux网络管理 计算机网络 MACMAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制.介质访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC地址.因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址.MAC地址(MAC Address)MAC(Medium/Media Access Control)地址,用来表示互联网上每一