前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Linux中防火墙实战之Web服务器和ssh远程服务配置指南

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

原创
作者头像
神秘泣男子
发布2025-02-09 11:18:36
发布2025-02-09 11:18:36
14610
代码可运行
举报
文章被收录于专栏:LinuxLinux
运行总次数:0
代码可运行

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

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

实验环境

四台服务器

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

一台模拟外网 (ens37)

一台web服务器 (ens36)

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

实验要求

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

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

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

网络环境配置

防火墙网卡配置

代码语言:javascript
代码运行次数:0
复制
cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens36
cp -p ifcfg-ens33 ifcfg-ens37

ens36网卡

ens37网卡

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

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

web服务器网卡

代码语言:javascript
代码运行次数:0
复制
vim /etc/sysconfig/network-scripts/ifcfg-ens33

外网网卡配置

代码语言:javascript
代码运行次数:0
复制
vim /etc/sysconfig/network-scripts/ifcfg-ens33

内网PC测试网卡

代码语言:javascript
代码运行次数:0
复制
vim /etc/sysconfig/network-scripts/ifcfg-ens33

防火墙

开启路由转发

代码语言:javascript
代码运行次数:0
复制
vim /etc/sysctl.conf
sysctl -p  刷新
net.ipv4.ip_forward = 1

测连通性

配置完成之后检测连通性

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

web服务器配置

配置完成网络环境之后

开启防火墙

在web上下载httpd

代码语言:javascript
代码运行次数:0
复制
yum install -y httpd 
echo testsmqnz > /var/www/html/index.html
curl 127.0.0.1
testsmqnz
代码语言:javascript
代码运行次数:0
复制
配置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访问测试

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

防火墙配置

代码语言:javascript
代码运行次数:0
复制
firewall-config
双击ens33
点击永久
trusted
ens36
dmz
ens37
external

点击trusted勾上httpd https

重新载入

PC内网访问Web服务器

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

在Web服务器上配置

代码语言:javascript
代码运行次数:0
复制
firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent
firewall-cmd --reload

内网PC测试

测试SSH

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

首先在web上关闭ssh

代码语言:javascript
代码运行次数:0
复制
​
firewall-cmd --zone=dmz --remove-service=ssh --permanent
firewall-cmd --reload
查看规则
firewall-cmd --list-all -zone=dmz
​
•

修改SSH的端口号

首先关闭Selinux

代码语言:javascript
代码运行次数:0
复制
vim /etc/ssh/sshd_conf
Port 12345

重启服务

代码语言:javascript
代码运行次数:0
复制
systemctl restart sshd
查看服务端口号
netstat -nultp | grep sshd

ssh从12345端口访问

代码语言:javascript
代码运行次数:0
复制
firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
firewall-cmd --reload

内网PC测试

代码语言:javascript
代码运行次数:0
复制
ssh root@172.16.0.2 -p 12345

外网远程防火墙

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

如何让外网SSH防火墙呢?

防火墙配置

代码语言:javascript
代码运行次数:0
复制
vim /etc/ssh/sshd_confg
找到port 改为 Port 12345
systemctl restart sshd

检测端口是否成功

代码语言:javascript
代码运行次数:0
复制
[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          

添加访问端口

外网访问测试

代码语言:javascript
代码运行次数:0
复制
ssh root@100.0.0.1 -p 12345

总结

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

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!" "每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。" 神秘泣男子

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux中防火墙实战之Web服务器和ssh远程服务配置指南
    • 实验环境
    • 网络环境配置
    • web服务器配置
    • 测试SSH
    • 修改SSH的端口号
    • 外网远程防火墙
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档