主页 > 游戏开发  > 

项目设置内网IP访问实现方案

项目设置内网IP访问实现方案

        在我们平常的开发工作中,项目开发、测试完成后进行部署上线。比如电商网站、新闻网站、社交网站等,通常对访问不会进行限制。但是像企业内部网站、内部管理系统等,这种系统一般都需要限制访问,比如内网才能访问等。那么一个网站应该如何限制特定的 IP 访问呢?今天我们来总结下实现的几种方法。

      一:通过 nginx 配置

        1:可以在 nginx.conf 中设置 IP 访问限制,示例如下:

user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log main; sendfile on; server { listen 80; server_name localhost; # 只允许某个特定 IP 地址访问 allow 192.168.1.1; deny all; # 允许访问的 IP 列表,这个命令表示允许的 IP 范围为 192.168.1.0 到 192.168.1.254 allow 192.168.1.0/24; deny all; # 拒绝某个特定 IP 访问 deny 192.168.1.1; allow all; # 拒绝该 IP 列表访问 deny 192.168.1.0/24; allow all; location / { root /usr/share/nginx/html; index index.html index.htm; } } }

        2:当前访问的 IP 地址在 nginx 配置允许的 IP 列表中时,访问页面如下:

        3:当前访问的 IP 地址不在 nginx 配置允许的 IP 列表中时,会看到访问拒绝,访问页面如下:

        4:总结

        设置允许访问的 IP:

        (1):只允许某个特定 IP 地址访问,如表示只有 IP 地址为 192.168.1.1 能访问,示例如下:

allow 192.168.1.1; deny all;

        (2):允许访问的 IP 列表,如表示 192.168.1.0 到 192.168.1.254 的 IP 地址能访问,示例如下:

allow 192.168.1.0/24; deny all;

        设置不能访问的 IP:

        (1):设置某个特定 IP 地址访问,如表示只有 IP 地址为 192.168.1.1 不能访问,示例如下:

deny 192.168.1.1; allow all;

        (2):不允许访问的 IP 列表,如表示 192.168.1.0 到 192.168.1.254 的 IP 地址不能访问,示例如下:

deny 192.168.1.0/24; allow all;      二:通过防火墙设置

        在 Centos 6 及之前版本,iptables 作为防火墙管理工具,在 Centos 7 及之后版本,使用 firewalld 作为防火墙管理工具。

     1:使用 iptables 限制 IP 访问

        设置允许访问的 IP:

        (1):允许某个特定 IP 访问,示例如下:

# 只允许 192.168.1.1 能访问 iptables -A INPUT -s 192.168.1.1 -j ACCEPT # 保存规则命令 service iptables save

        (2):允许访问的 IP 段,示例如下:

# 允许 192.168.1.0 - 192.168.1.254 能访问 iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # 保存规则命令 service iptables save

        设置不能访问的 IP:

        (1):不允许某个特定 IP 访问,示例如下:

# 不允许 192.168.1.1 访问 iptables -A INPUT -s 192.168.1.1 -j DROP # 保存规则命令 service iptables save

         (2):不允许访问的 IP 段,示例如下:

# 不允许 192.168.1.0 - 192.168.1.254 访问 iptables -A INPUT -s 192.168.1.0/24 -j DROP # 保存规则命令 service iptables save       2:使用 firewalld 限制 IP 访问

        设置允许访问的 IP:

        (1):允许某个特定 IP 访问,示例如下:

# 只允许 192.168.1.1 能访问 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" accept' # 重新加载防火墙 firewall-cmd --reload

        (2):允许访问的 IP 段,示例如下:

# 允许 192.168.1.0 - 192.168.1.254 能访问 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' # 重新加载防火墙 firewall-cmd --reload

        设置不能访问的 IP:

        (1):不允许某个特定 IP 访问,示例如下:

# 不允许 192.168.1.1 访问 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" reject' # 重新加载防火墙 firewall-cmd --reload

         (2):不允许访问的 IP 段,示例如下:

# 不允许 192.168.1.0 - 192.168.1.254 访问 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" reject' # 重新加载防火墙 firewall-cmd --reload      三:总结

        以上为常见的设置服务内网访问的方法。可以通过 nginx 配置或者防火墙设置。通过 nginx 实现修改 nginx.conf 配置文件即可。通过防火墙实现,在 Centos 6 及以前版本使用 iptables 作为防火墙,在 Centos 7 版本及以后使用 firewall 作为防火墙。可以设置允许某个 IP 访问、允许某个 IP 段(如 192.168.1.0/24 即表示 192.168.1.0 - 192.168.1.254)访问、设置不允许某个 IP 访问、不允许某个 IP 段访问。如果需要根据 URL 路径实现精准的访问控制,推荐使用 nginx。如果是网络层对访问 IP 或端口的限制,推荐使用防火墙。

标签:

项目设置内网IP访问实现方案由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“项目设置内网IP访问实现方案