服务器只允许指定 IP 远程访问的设置方法
一、Windows 系统服务器设置
操作步骤 | 详细描述 |
打开防火墙高级设置 | 在控制面板中找到“Windows Defender 防火墙”,点击“高级设置”。 |
创建入站规则 | 在高级安全 Windows Defender 防火墙的“入站规则”选项卡中,点击“新建规则”。 |
选择规则类型 | 在规则类型中选择“自定义”,然后点击“下一步”。 |
设置程序或服务 | 若远程访问特定程序,选择该程序路径;若为所有程序,选择“所有程序”,点击“下一步”。 |
选择协议和端口 | 根据实际情况选择协议(如 TCP),并指定本地和远程端口号,点击“下一步”。 |
设置作用域 | 在“作用域”页面,选择“远程 IP 地址”,然后点击“添加”,输入指定的 IP 地址或 IP 地址段,点击“确定”后,再点击“下一步”。 |
完成规则创建 | 为规则命名,勾选“启用规则”,然后点击“完成”。 |
操作步骤 | 详细描述 |
打开本地用户和组管理 | 在计算机管理控制台中,找到“本地用户和组”。 |
设置用户权限 | 对需要远程访问的用户,可将其添加到具有远程访问权限的组,如“Remote Desktop Users”组。 |
二、Linux 系统服务器设置
(一)SSH 服务配置(以 OpenSSH 为例)
操作步骤 | 详细描述 |
编辑 SSH 配置文件 | 使用命令“sudo vi /etc/ssh/sshd_config”打开配置文件。 |
修改监听地址 | 找到“ListenAddress”选项,将其值设置为指定的 IP 地址,只允许 IP 地址为 192.168.1.100 的主机访问,则设置为“ListenAddress 192.168.1.100”。 |
保存并重启 SSH 服务 | 保存配置文件后,执行“sudo systemctl restart sshd”命令重启 SSH 服务。 |
(二)防火墙设置(以 firewalld 为例)
操作步骤 | 详细描述 |
查看防火墙状态 | 执行“sudo firewall-cmd –state”命令查看防火墙是否开启,若未开启,执行“sudo systemctl start firewalld”启动防火墙。 |
添加允许规则 | 执行“sudo firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”指定 IP 地址” port protocol=”tcp” port=”端口号” accept’”命令添加允许指定 IP 访问的规则,允许 IP 地址为 192.168.1.100 的主机通过 22 端口访问,执行“sudo firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.100″ port protocol=”tcp” port=”22″ accept’”。 |
重新加载防火墙规则 | 执行“sudo firewall-cmd –reload”命令使新规则生效。 |
相关问题与解答
问题一:如果需要临时允许其他 IP 访问服务器,该怎么办?
解答:对于 Windows 系统,可以在防火墙的高级设置中,找到之前创建的入站规则,暂时修改其作用域中的远程 IP 地址,允许临时的 IP 访问,之后记得及时改回原设置,对于 Linux 系统,如果是使用 firewalld,可以临时执行命令“sudo firewall-cmd –add-rich-rule=’rule family="ipv4" source address="临时 IP 地址" port protocol="tcp" port="端口号" accept’”添加临时规则,操作完成后可使用“sudo firewall-cmd –remove-rich-rule=规则编号”删除临时规则。
问题二:如何检查服务器是否成功限制了远程访问 IP?
解答:可以通过尝试从被允许的 IP 地址和不被允许的 IP 地址进行远程访问来测试,在 Windows 系统中,使用远程桌面连接或其他远程访问工具,从不同 IP 地址的客户端尝试连接服务器,看是否能正常连接,在 Linux 系统中,使用 SSH 等工具从不同 IP 地址的客户端尝试登录服务器,若从不被允许的 IP 地址无法连接,而从被允许的 IP 地址可以正常连接,则说明服务器成功限制了远程访问 IP。