Linux中防火墙实战之Web服务器和ssh远程服务配置指南

🏡作者主页:************点击!****************

🐧Linux基础知识(初学):点击!****

🐧Linux高级管理防护和群集专栏:************点击!****************

🔐Linux中firewalld防火墙:点击!****

⏰️创作时间:2024年8月1日8点15分


在当今数字化时代,网络安全显得尤为重要。Linux作为一种开源操作系统,广泛应用于服务器管理和网络配置中。本篇文章将详细介绍如何配置Linux防火墙和Web服务器,确保内网与外网的安全访问。同时,我们将探讨如何通过SSH远程管理服务器,提升网络管理的灵活性和安全性。

实验环境

四台服务器

一台作为防火墙 (ens33,ens36,ens37)

一台模拟外网 (ens37)

一台web服务器 (ens36)

一台作为内网PC 访问测试(NAT模式)

实验要求

内网PC能过访问Web服务器 ICMP中不能ping Web服务器

内网PC通过SSH的1234端口来远程Web服务器

外网通过SSH的1234端口来远程防火墙

网络环境配置

防火墙网卡配置

复制代码
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens36
cp -p ifcfg-ens33 ifcfg-ens37

ens36网卡

ens37网卡

ens33是nat模式 这个不用介绍 你设置DHCP 或者静态都可以

查看一下ip 把内网网关指向他就行

web服务器网卡

复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33

外网网卡配置

复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33

内网PC测试网卡

复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码

防火墙

开启路由转发

复制代码
vim /etc/sysctl.conf
sysctl -p  刷新
net.ipv4.ip_forward = 1

测连通性

配置完成之后检测连通性

可以发现防火墙都是可以访问通的

web服务器配置

配置完成网络环境之后

开启防火墙

在web上下载httpd

复制代码
yum install -y httpd 
echo testsmqnz > /var/www/html/index.html
curl 127.0.0.1
testsmqnz

配置dmz区域

firewall-cmd --zone=dmz --change-interface=ens33
firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=443/tcp  --permanent
​
重载防火墙
firewall-cmd --reload

配置完成之后内网和防火墙都可以访问了

内网PC访问测试

配置完成之后内网和防火墙都可以访问了

防火墙配置

复制代码
firewall-config
双击ens33
点击永久
trusted
ens36
dmz
ens37
external

点击trusted勾上httpd https

重新载入

PC内网访问Web服务器

内网是可以ping Web服务器的 现在我们需要设置不可以pingWeb

在Web服务器上配置

复制代码
firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent
firewall-cmd --reload

内网PC测试

测试SSH

修改ssh的端口号为12345 内网远程web服务器

首先在web上关闭ssh

复制代码
​
firewall-cmd --zone=dmz --remove-service=ssh --permanent
firewall-cmd --reload
查看规则
firewall-cmd --list-all -zone=dmz

​

修改SSH的端口号

首先关闭Selinux

复制代码
vim /etc/ssh/sshd_conf
Port 12345
复制代码
重启服务
复制代码
systemctl restart sshd
查看服务端口号
netstat -nultp | grep sshd

添加端口

ssh从12345端口访问

复制代码
firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
firewall-cmd --reload

内网PC测试

复制代码
ssh root@172.16.0.2 -p 12345

外网远程防火墙

如何让外网访问防火墙的SSH12345端口呢?

如何让外网SSH防火墙呢?

防火墙配置

复制代码
vim /etc/ssh/sshd_confg
找到port 改为 Port 12345
systemctl restart sshd
复制代码
​
检测端口是否成功
复制代码
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# netstat -nultp | grep sshd
tcp        0      0 0.0.0.0:12345           0.0.0.0:*               LISTEN      39693/sshd          
tcp6       0      0 :::12345                :::*                    LISTEN      39693/sshd          

添加访问端口

外网访问测试

复制代码
ssh root@100.0.0.1 -p 12345

总结

通过本篇文章的学习,我们不仅掌握了Linux防火墙和Web服务器的基本配置,还了解了如何实现安全的网络访问。防火墙的合理设置和SSH的安全管理是保障网络安全的关键。希望读者能够将这些知识应用到实际工作中,为构建安全的网络环境贡献力量。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关推荐
玖玥拾2 分钟前
C# 语言进阶(十三)网络 DLL 库分层设计
服务器·开发语言·网络·网络协议·c#
是摆烂第一名呀8 分钟前
【RK3506】RGB屏幕与背光调试记录
linux·arm开发·驱动开发·嵌入式硬件
qetfw17 分钟前
CentOS 7 搭建 DNS 主从服务
linux·运维·centos·dns·bind
柠石榴40 分钟前
远程连接校内服务器 ssh
运维·服务器·ssh
极客先躯41 分钟前
高级java每日一道面试题-2026年04月04日-实战篇[Docker]-如何排查容器存储挂载失败的问题?
java·运维·docker·容器·高级面试
JustNow_Man1 小时前
【Claude Code】 中给 Python + XML 项目建立可靠验证体系
xml·linux·python
CodeStats1 小时前
【Linux IO】从文件描述符到硬件中断:Linux IO 系统底层完全拆解
java·linux·开发语言·io·socket
日取其半万世不竭1 小时前
Palworld 服务器内存越跑越高?重启计划和存档保护怎么做
linux·运维·服务器·vps·幻兽帕鲁·palworld
kyle~1 小时前
Linux---Snap(隔离式Linux 软件分发范式)
linux·运维·网络
遇码1 小时前
开源 Data Agent 实战:用 Lakemind + DuckDB 让 LLM 安全分析本地数据
安全·开源