然后 vi /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Sun Aug 28 12:14:02 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#这里开始增加白名单服务器ip(请删除当前服务器的ip地址)
-N whitelist
-A whitelist -s 8.8.8.8 -j ACCEPT
-A whitelist -s x.x.x.x -j ACCEPT
#这些 ACCEPT 端口号,公网内网都可访问
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13020 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1000:8000 -j ACCEPT #开放1000到8000之间的所有端口
#下面是 whitelist 端口号,仅限 服务器之间 通过内网 访问
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j whitelist
#为白名单ip开放的端口,结束
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
登录后复制
解释:
1、查看现有防火墙过滤规则:
iptables -nvL --line-number
登录后复制
2、添加防火墙过滤规则(设置白名单):
1)添加白名单
登录后复制
iptables -I INPUT 3 -s 136.6.231.163 -p tcp --dport 1521 -j ACCEPT
登录后复制
命令详解:
-I:添加规则的参数
INPUT:表示外部主机访问内部资源
登录后复制
规则链:
*
1)INPUT——进来的数据包应用此规则链中的策略
2)OUTPUT——外出的数据包应用此规则链中的策略
3)FORWARD——转发数据包时应用此规则链中的策略
4)PREROUTING——对数据包作路由选择前应用此链中的规则 (记住!所有的数据包进来的时侯都先由这个链处理)
5)POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)
3:表示添加到第三行(可以任意修改)
-s:指定作为源地址匹配,这里不能指定主机名称,必须是IP;
-p: 用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP)
--dport: 用于匹配端口号
-j: 用于匹配处理方式:
常用的ACTION:
登录后复制
DROP:悄悄丢弃,一般我们多用DROP来隐藏我们的身份,以及隐藏我们的链表
REJECT:明示拒绝
ACCEPT:接受
2)查看添加结果
iptables -nvL --line-number
登录后复制
然后重启防火墙即可生效
重启防火墙的命令:service iptables restart
此时,防火墙规则只是保存在内存中,重启后就会失效。
使用以下命令将防火墙配置保存起来;
保存到配置中:service iptables save (该命令会将防火墙规则保存在/etc/sysconfig/iptables文件中。)
linux下要使用iptables限制只有指定的ip才能访问本机则需要先设置一个默认的规则iptables有默认的规则,它可以适用于所有的访问因为只有指定或特定的ip地址才能访问本机所以可以将默认的规则设置为所有访问全部阻止(当然这里需要注意下,如果你要设置的机器是在远端,比如vps则需要注意在设置默认规则的同时要将与该服务器链接的ip添加进白名单,否则在设置完默认阻止后你也无法访问这台服务器,也无法再进行 *** 作了,我们可以使用分号或者&&来在同一个命令行下来完成默认阻止和将自己的ip添加进白名单,假如你的ip地址为1.2.3.4则可以这样输入iptables -P INPUT DROPiptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT,或者也可以指定一个端口)设置默认规则后则可以添加白名单了比如允许2.3.4.5访问则可以iptables -A INPUT -s 2.3.4.5 -p tcp -j ACCEPT如果要限定的不是整个服务器而只是该服务器中的某个服务比如web服务(一般端口在80,https在443)则我们可以使用0.0.0.0/0来阻止所有的ip地址比如iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP以及iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP来阻止所有访问web服务器的ip地址然后再添加指定的ip到白名单比如添加1.2.3.4,我们可以iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT如果我们允许某个网段下的所有ip都可以访问的话比如1.2.3.[0-255],我们可以iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT总之不管是阻止所有的服务还是只阻止指定的服务我们可以先将默认的规则设置为所有ip都不可访问然后再手动添加ip地址到白名单欢迎分享,转载请注明来源:内存溢出
评论列表(0条)