linux下限制ip的几种方式

今天同事在连接外网的ucloud服务器的时候连接不上,我在我本地机器试了一下,可以,然后又在另一个同事的机器上试了一下也可以,我觉得应该是他本地系统的问题,他机器上装的是filezilla,我给他发了一个secureCRT,让她试一下,结果还是不行,然后我又在一台服务器上访问了一下,还是不行,2v2,2个成功,2个失败,我感觉不是系统的问题,问题可能出在服务器,我查看了一下服务器的日志/var/log/messages和 /var/log/secure ,其中一行显示 connection refuse。 这说明服务器已经接收到了请求,只是拒绝了,我猜想是服务器的配置问题,但是这台服务器应该只能我操作啊,我查了一下限制IP的几种方式,在hosts.allow发现了玄机,原来这里配置了白名单,你可能要问了你和你同事不是一个局域网吗,对外ip不是一样吗,这个我还得给你解释一下,我们公司的对外ip有几个,然后映射到了内部ip的不同网段,所以同事的对外ip就有可能和我不一样了,然后把限制IP的两种方式记录一下:

1 使用hosts.deny hosts.allow 方式(优先hosts.deny)

1.限制所有的ssh,
除非从216.64.87.0 - 127上来。
hosts.deny:
in.sshd:ALL
hosts.allow:
in.sshd:216.64.87.0/255.255.255.128

2.封掉216.64.87.0 - 127的telnet
hosts.deny
in.sshd:216.64.87.0/255.255.255.128

3.限制所有人的TCP连接,除非从216.64.87.0 - 127访问
hosts.deny
ALL:ALL
hosts.allow
ALL:216.64.87.0/255.255.255.128

4.限制216.64.87.0 - 127对所有服务的访问
hosts.deny
ALL:216.64.87.0/255.255.255.128

其中冒号前面是TCP daemon的服务进程名称,通常系统
进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd

其中IP地址范围的写法有若干中,主要的三种是:
1.网络地址--子网掩码方式:
216.64.87.0/255.255.255.0
2.网络地址方式(我自己这样叫,呵呵)
216.64.(即以216.64打头的IP地址)
3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如:
216.64.87.0/255.255.255.0 -- 216.64.87.0/24

设置好后,要重新启动
# /etc/rc.d/init.d/xinetd restart
# /etc/rc.d/init.d/network restart




2 .使用iptables命令

单个IP的命令是
iptables -I INPUT -s 81.241.219.171 -j DROP

封IP段的命令是
iptables -I INPUT -s 97.47.225.0/16 -j DROP
iptables -I INPUT -s 97.47.225.0/16 -j DROP
iptables -I INPUT -s 97.47.225.0/16 -j DROP

封整个段的命令是
iptables -I INPUT -s 97.47.225.0/8 -j DROP

封几个段的命令是
iptables -I INPUT -s 97.47.225.0/24 -j DROP
iptables -I INPUT -s 97.47.225.0/24 -j DROP


服务器启动自运行
有三个方法:
1、把它加到/etc/rc.local中
2、vi /etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
3、service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
后两种更好些,一般iptables服务会在network服务之前启来,更安全

解封:
iptables -L INPUT
iptables -L --line-numbers 然后iptables -D INPUT 序号


iptables 限制ip访问
通过iptables限制9889端口的访问(只允许192.168.1.100、192.168.1.101、192.168.1.102),其他ip都禁止访问
iptables -I INPUT -p tcp --dport 9889 -j DROP
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 9889 -j ACCEPT
iptables -I INPUT -s 192.168.1.102 -p tcp --dport 9889 -j ACCEPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值