原文:http://www.weiruoyu.cn/?p=391
这个很简单,有两种方法,但是做这个之前要做一件事情,先随便开启一个ssh端口,否则一旦设置错误就麻烦了,如果的服务器在外地IDC机房,你哭的心都有了,呵呵。
方法一:
1.开启一个ssh端口
[root@localhost ~]# vi /etc/ssh/sshd_config
把#Port 22
修改为
Port 22
Port 2222
[root@tomcat231 ~]# service sshd restart
防火墙开启2222端口(如果开启了selinux,记得一定要关闭)
去测试一下2222端口是否开启,这点很重要
2.设置方法一:只允许192.168.5.231访问
运行完下面这一行,你已经不能访问了,改用2222去设置下面一行
#iptables -I INPUT -p tcp --dport 22 -j DROP
用2222端口去运行下面一行,运行完,22端口就可以使用
#iptables -I INPUT -s 192.168.5.231 -p tcp --dport 22 -j ACCEPT
保存
[root@localhost ~]# service iptables save
重启
[root@localhost ~]# service iptables restart
方法二
更详细的参考:http://www.weiruoyu.cn/?p=391
只允许192.168.5.231访问22端口
[root@localhost ~]# vi /etc/sysconfig/iptables
在:RH-Firewall-1-INPUT - [0:0]添加下面两行
-A INPUT -s 192.168.5.231 -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 22 -j DROP
然后重启
[root@localhost ~]# service iptables restart
4.记得关闭2222端口。
修改vi /etc/ssh/sshd_config
#Port 22
#Port 2222
然后重启sshd服务
=================================
方法三:
1.vi /etc/sysconfig/iptables添加一行
下面是只允许某个IP访问xx端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 389 -j ACCEPT
2.重启生效
#service iptables restart
3.进行查看
iptables -L -n --line-numbers
如果删除
iptables -D INPUT 8
参考:http://www.weiruoyu.cn/?p=391
参考
-A 向规则链中添加一条规则,默认被添加到末尾
-T指定要操作的表,默认是filter
-D从规则链中删除规则,可以指定序号或者匹配的规则来删除
-R进行规则替换
-I插入一条规则,默认被插入到首部
-F清空所选的链,重启后恢复
-N新建用户自定义的规则链
-X删除用户自定义的规则链
-p用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,
-s指定源地址
-d指定目的地址
-i进入接口
-o流出接口
-j采取的动作,accept,drop,snat,dnat,masquerade
--sport源端口
--dport目的端口,端口必须和协议一起来配合使用
转载于:https://blog.51cto.com/weiruoyu/845234