服务器为何禁止IP连接网络?

服务器禁止IP连接网络连接

服务器禁止ip连接网络连接网络连接

一、防火墙配置

Windows系统

(1)使用Windows防火墙

打开防火墙高级设置:通过控制面板进入“系统和安全”,然后选择“Windows Defender防火墙”,点击左侧的“高级设置”以打开高级安全窗口。

创建入站规则:在入站规则中点击“新建规则”,选择“自定义”规则类型,在“程序”选项卡中指定要限制的程序或服务,然后在“作用域”选项卡中选择应用规则的网络类型(域、专用、公用),在“协议和端口”选项卡中选择TCP协议,并指定要限制的端口号(如80用于HTTP,21用于FTP等),在“作用域”选项卡中选择“特定IP地址”,并输入要阻止的IP地址或子网,完成设置后,为规则命名并保存。

(2)使用第三方防火墙软件

安装第三方防火墙软件:如ZoneAlarm、Norton等,这些软件通常提供更详细的配置选项和更强的防护能力。

配置阻止特定IP:在软件的防火墙设置中找到“黑名单”或“阻止的IP地址”选项,添加要阻止的IP地址或子网,保存设置后,软件将自动阻止这些IP地址的连接请求。

Linux系统

服务器禁止ip连接网络连接网络连接

(1)使用iptables命令

查看当前防火墙规则:执行iptables -L命令以查看当前的防火墙规则。

添加阻止特定IP的规则:使用iptables -A INPUT -s <IP地址> -j DROP命令来添加阻止特定IP地址的规则,要阻止IP地址为192.168.1.100的连接,可以执行iptables -A INPUT -s 192.168.1.100 -j DROP

保存规则:根据Linux发行版的不同,保存iptables规则的命令可能有所不同,在Ubuntu上可以使用sudo sh -c "iptables-save > /etc/iptables/rules.v4"命令保存规则。

(2)使用firewalld服务

启动firewalld服务:执行sudo systemctl start firewalld命令以启动firewalld服务。

添加阻止特定IP的规则:使用firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="<IP地址>" reject'命令来添加永久规则,要阻止IP地址为192.168.1.100的连接,可以执行firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

服务器禁止ip连接网络连接网络连接

重新加载firewalld配置:执行sudo firewall-cmd --reload命令以重新加载firewalld配置并应用新规则。

二、使用反向代理

Nginx作为反向代理

(1)配置Nginx反向代理

安装Nginx:如果尚未安装Nginx,可以使用包管理器(如apt或yum)进行安装。

配置反向代理:编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default),在server块中添加反向代理设置

server {
    listen 80;
    server_name your_domain.com;
    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

backend_server替换为实际后端服务器的地址。

(2)配置访问控制

基于IP的访问控制:在Nginx配置文件中,可以使用allowdeny指令来控制哪些IP地址可以访问服务器。

server {
    listen 80;
    server_name your_domain.com;
    location / {
        allow 192.168.1.0/24; # 允许192.168.1.0/24子网的访问
        deny all; # 拒绝所有其他IP的访问
        proxy_pass http://backend_server;
        ...
    }}

192.168.1.0/24替换为实际允许的IP地址或子网,http://backend_server替换为实际后端服务器的地址。

Apache作为反向代理

(1)配置Apache反向代理

安装mod_proxy和mod_proxy_http模块:确保Apache安装了这两个模块,它们通常不是默认安装的。

配置反向代理:编辑Apache配置文件(通常位于/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf),添加以下内容以启用反向代理:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
    ServerName your_domain.com
    ProxyPreserveOn
    ProxyPass / http://backend_server/
    ProxyPassReverse / http://backend_server/
</VirtualHost>

your_domain.com替换为你的域名,http://backend_server替换为实际后端服务器的地址。

(2)配置访问控制

基于IP的访问控制:在Apache配置文件中,可以使用OrderAllowDeny指令来控制哪些IP地址可以访问服务器。

<Directory "/var/www/html">
    Order Deny,Allow
    Deny from all
    Allow from 192.168.1.0/24
</Directory>

/var/www/html替换为实际Web根目录的路径,192.168.1.0/24替换为实际允许的IP地址或子网。

三、使用安全插件或软件

Fail2ban

(1)安装Fail2ban

在Debian/Ubuntu上安装:执行sudo apt-get install fail2ban命令。

在CentOS/RHEL上安装:执行sudo yum install fail2ban命令。

(2)配置Fail2ban

编辑Jail配置Fail2ban使用“jail”来定义要监控的日志文件和要采取的行动,编辑/etc/fail2ban/jail.local文件,添加或修改jail配置,要监控SSH登录失败,可以添加以下配置:

[sshd]
enabled = true
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

logpath设置为实际SSH登录失败日志的路径,并根据需要调整maxretry的值。

创建过滤规则Fail2ban使用正则表达式来匹配日志文件中的特定模式,过滤规则通常存储在/etc/fail2ban/filter.d/目录下的文件中,SSH登录失败的过滤规则可能存储在sshd.conf文件中,你可以根据需要创建或修改过滤规则。

(3)启动和管理Fail2ban

启动Fail2ban:执行sudo systemctl start fail2ban命令以启动Fail2ban服务。

检查状态:执行sudo fail2ban-client status命令以检查Fail2ban的状态和已实施的禁令。

2. IPSet与iptables结合使用

(1)安装IPSet

在Debian/Ubuntu上安装:执行sudo apt-get install ipset命令。

在CentOS/RHEL上安装:执行sudo yum install ipset命令。

(2)创建IPSet集合

创建集合:使用ipset create命令创建一个IPSet集合,要创建一个名为“blocked_ips”的集合,可以执行:

sudo ipset create blocked_ips hash:ip family inet hashsize 1024

这将创建一个最多包含1024个IP地址的集合。

(3)填充IPSet集合

添加IP到集合:使用ipset add命令将IP地址添加到集合中,要将IP地址192.168.1.100添加到“blocked_ips”集合中,可以执行:

sudo ipset add blocked_ips 192.168.1.100

(4)在iptables中使用IPSet集合

配置iptables规则:现在可以在iptables规则中使用刚刚创建的IPSet集合了,编辑iptables规则,将特定的IP地址替换为IPSet集合的名称,要在INPUT链中阻止所有在“blocked_ips”集合中的IP地址的访问,可以执行:

sudo iptables -A INPUT -m set --match-set blocked_ips src -j DROP

这条规则将匹配所有源地址在“blocked_ips”集合中的IP数据包,并将其丢弃。

以上内容就是解答有关“服务器禁止ip连接网络连接网络连接”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/758402.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-12-23 01:39
Next 2024-12-23 01:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入