Linux中配置主机名,主机名命名规范, iptables防火墙,服务器端口暴露规范, 文件安装位置,文件存放位置规范

news/2025/2/14 5:22:56/

写在前面
正常每个公司都会有很多台服务器, 但是每个服务器中各种文件的配置,都不项目, 这样会对开发, 运维人员造成很大的困扰, 本文为是为了解决出现的这种情况的

拿到服务器前:
刚拿到服务器前, 务必需要先想一下服务器需要什么样的配置, 以及需要配置什么样的系统环境以

拿到服务器后:
一:
1.1 修改主机名称
修改主机名称的规范如下:
之所有我们修改主机名, 是方便我们可以快速的查询出我们服务器是什么样的环境(如: 开发, 测试)和这个服务器对应的编号

举例: csdnDev001 (csdn下需要为001的开发服务器)
csdn: 代表公司名称缩写
Dev: 代表开发服务器,PS: 正常我们有4个环境, 如: Dev: 代表开发环境Test: 代表测试环境Pre: 代表灰度发布服务器(很多人也叫预发布环境)Prod: 代表正式服务器
001: 代表需要为001的开发服务器

1.1.1 临时修改主机名称配置步骤如下:
使用命令行修改 “hostname 主机名”,重新登录 SHELL 生效,服务器重启后失效。

hostname csdnDev001

1.1.2 永久修改主机名称配置步骤如下
针对于: centOS 7以上的linux系统(包含7)
使用命令" hostnamectl set-hostname 主机名 "来修改,修改完毕后重新 SHELL 登录即可。

# 注1:该操作只针对于: CentOS7, 以及以上版本生效
# 注2:此时修改的主机名称, 系统会自动更改为全小写的
hostnamectl set-hostname csdnDev001

1.1.3 永久主机名区别大小写

vim /etc/hostname

hostname中内容如下:

 csdnDev001

查看是否设置成功

[root@csdnDev001 ~]# hostnamectlStatic hostname: csdnDev001Icon name: computer-vmChassis: vmMachine ID: f0f31005fb5a436d88e3c6cbf54e25aaBoot ID: e69a6450a54c468f886c8cc90d86f851Virtualization: kvmOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-693.2.2.el7.x86_64Architecture: x86-64

2.配置iptables防火墙
在centOS 7 以上的系统中默认使用的是firewall,centOS 7以下的系统使用的是iptables firewall和iptables的区别:firewall是centos7里面的新的防火墙命令,它底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令
1.先检查是否安装了iptables

 service iptables status 

2.安装iptables

 yum install -y iptables  

3.升级iptables

 yum update iptables   

4.安装iptables-services

yum install iptables-services

禁用/停止自带的firewalld服务 (CentOS 7 以上的系统)
停止firewalld服务

 systemctl stop firewalld  

禁用firewalld服务

 systemctl mask firewalld 

(1)设置现有规则
#查看iptables现有规则

iptables -L -n  

#先允许所有,不然有可能会杯具

 iptables -P INPUT ACCEPT  

#清空所有默认规则

 iptables -F  

#清空所有自定义规则

  iptables -X  

#所有计数器归0

  iptables -Z  

#允许来自于lo接口的数据包(本地访问)

  iptables -A INPUT -i lo -j ACCEPT  

#开放22端口

 iptables -A INPUT -p tcp --dport 22 -j ACCEPT  

#开放21端口(FTP)

 iptables -A INPUT -p tcp --dport 21 -j ACCEPT  

#开放80端口(HTTP)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

#开放443端口(HTTPS)

 iptables -A INPUT -p tcp --dport 443 -j ACCEPT  

#允许ping

 iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  

#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的

iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT  

#其他入站一律丢弃

 iptables -P INPUT DROP 

#所有出站一律绿灯

 iptables -P OUTPUT ACCEPT

#所有转发一律丢弃

 iptables -P FORWARD DROP  

(2)其他规则设定(选用)
#如果要添加内网ip信任(接受其所有TCP请求)

 iptables -A INPUT -p tcp -s (你的IP) -j ACCEPT  

#过滤所有非以上规则的请求

  iptables -P INPUT DROP  

#要封停一个IP,使用下面这条命令:

  iptables -I INPUT -s ***.***.***.*** -j DROP  

#要解封一个IP,使用下面这条命令:

iptables -D INPUT -s ***.***.***.*** -j DROP  

(3)保存规则设定
#保存上述规则

service iptables save  

(4)开启iptables服务
#注册iptables服务,相当于以前的chkconfig iptables on

systemctl enable iptables.service  

#开启服务

systemctl start iptables.service  

#查看状态

systemctl status iptables.service  

(5)以下为完整设置脚本(选看)

  #!/bin/sh  iptables -P INPUT ACCEPT  iptables -F  iptables -X  iptables -Z  iptables -A INPUT -i lo -j ACCEPT  iptables -A INPUT -p tcp --dport 22 -j ACCEPT  iptables -A INPUT -p tcp --dport 21 -j ACCEPT  iptables -A INPUT -p tcp --dport 80 -j ACCEPT  iptables -A INPUT -p tcp --dport 443 -j ACCEPT  iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  iptables -P INPUT DROP  iptables -P OUTPUT ACCEPT  iptables -P FORWARD DROP  service iptables save  systemctl restart iptables.service 

(6)iptables添加或者删除端口
#直接修改文件

vim /etc/sysconfig/iptables 

#重启防火墙

 systemctl restart iptables.service

安装jdk
手动解压JDK的压缩包,然后设置环境变量
在/usr/local目录下创建一个软件存放目录 software
注:
所有的下载软件的存放目录均为: /usr/local/software 只允许下载到此目录下 这个是文件存放目录规范

 mkdir /usr/local/softwarecd /usr/local/software

两种安装方式
方式一(已废除):
直接通过wget下载:

wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

方式二:
直接到到官网下载需要的jdk包:
下载成功后将jdk文件上传到刚刚创建的目录 /usr/local/software Oracle中下载JDK的链接

解压刚才上传成功的tar包

tar -zxvf /usr/local/software/jdk-8u191-linux-x64.tar.gz  -C /usr/local/ 
# 如: 通过jdk指向到 jdk1.8.0_191 我们在环境变量中配置JAVA_HOME时, 只能使用软链接的地址
ln -s /usr/local/jdk1.8.0_191/ /usr/local/jdk  #注意: 此处的jdk1.8.0_191应改为你安装的路径
# 配置后软链接如下:
lrwxrwxrwx  1 root          root                 24 Jan  7 16:50 jdk -> /usr/local/jdk1.8.0_191/
drwxr-xr-x  8            10           143      4096 Jan  7 16:50 jdk1.8.0_191

注意:
所有安装软件应尊守以下规范:
0.所有的软件全部保存到/usr/local/software下, 不可轻易删除,以及要做软件的备份, 可以给其他服务器使用, 当然, 可以把某个服务器专门用来当一个景象服务器使用, 这个我们先不介绍
1.为保证所有的安装文件都在同一个目录下, 方便查看, 安装软件禁止使用tar外的安装方式
2.所有的安装软件必须放到/usr/local下
3.所有的安装软件应保留安装软件的版本号
4.为了便捷操作, 指向,以及软件的升级, 所有文件路径应该用ln -s 指向一个短路径

设置环境变量

vim /etc/profile
  #将下列的命令复制到profile文件中export JAVA_HOME=/usr/local/jdkexport JRE_HOME=$JAVA_HOME/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATH

使环境变量生效

source /etc/profile

检查安装是否成功

java -version

安装tomcat
进入之前的软件安装目录/usr/local/software

cd /usr/local/software

安装方式一:
使用wget命令下载tomcat

 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz 

注: Apache Tomcat 8.5.x 旨在取代 8.0.x,并包含从 9.0.x 分支中提取的新特性能。

安装方式二:
直接在官网上下载, 安装到/usr/local/software
Tomcat8的下载页面
Tomcat官网

注: 以下内容为iptable防火墙的配置信息

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT#重启防火墙使配置生效
#systemctl restart iptables.service
#设置防火墙开机启动
#systemctl enable iptables.service#------------------------Nginx端口-------------------------------
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# https默认端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
# CMS后台管理系统
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8201 -j ACCEPT
# 店铺前台页面
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8203 -j ACCEPT# ---------------------数据库开放接口--------------------------
# mysql防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3501 -j ACCEPT# ----------------------Redis开放接口--------------------------
# 开发Redis单节点 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3300 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13300 -j ACCEPT
# 开发Redis集群Node1端口 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3301 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13301 -j ACCEPT
# 开发Redis集群Node2端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3302 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13302 -j ACCEPT
# 开发Redis集群Node3端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3303 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13303 -j ACCEPT
# 开发Redis集群Node4端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3304 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13304 -j ACCEPT
# 开发Redis集群Node5端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3305 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13305 -j ACCEPT
# 开发Redis集群Node6端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13306 -j ACCEPT# ----------------------Tomcat开放接口--------------------------
# 测试Tomcat服务器 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30080 -j ACCEPT
# dubbo-tomcat端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 31080 -j ACCEPT# ----------------------Zookeeper开放接口--------------------------
# Zookeeper集群节点1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3210 -j ACCEPT
# Zookeeper集群节点2
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3220 -j ACCEPT
# Zookeeper集群节点3
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3230 -j ACCEPT# ----------------------Apache 开放接口--------------------------
# SVN Apache开放端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3400 -j ACCEPT#nuxt 项目启动端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3401 -j ACCEPT# - --------------------拒绝接口-------------------
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT

未完待续…


http://www.ppmy.cn/news/167561.html

相关文章

云安全之Neutron 是如何实现虚机防火墙的 [How Neutron Implements Security Group]

1. 基础知识 1.1 防火墙(firewall) 防火墙是依照特定的规则来控制进出它的网络流量的网络安全系统。一个典型的场景是在一个受信任的内网和不受信任的外网比如 Internet 之间建立一个屏障。防火墙可以是电脑上运行的软件,也可以是独立的硬件…

Neutron 理解 (8): Neutron 是如何实现虚机防火墙的 [How Neutron Implements Security Group]...

https://www.cnblogs.com/sammyliu/p/4658746.html 1. 基础知识 1.1 防火墙(firewall) 防火墙是依照特定的规则来控制进出它的网络流量的网络安全系统。一个典型的场景是在一个受信任的内网和不受信任的外网比如 Internet 之间建立一个屏障。防火墙可以是…

从输入URL到Web页面呈现,这中间到底经历了什么?本文为您解惑!

在日常生活中,我们经常使用互联网浏览器来访问各种网站,并查看各种信息。但是,在浏览网站时,我们通常只关注页面内容和功能,而不了解浏览器背后的技术细节和工作原理。本文将详细介绍从输入URL到Web页面呈现的全过程&a…

实用工具篇(一):JApiDocs

JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档生成工具。 编写和维护API文档这个事情,对于后端程序员来说,是一件恼人但又不得不做的事情,我们都不喜欢写文档,但除非项目前后端代码都是自己写的,否则API…

【HTML 往日冒险 08】承上启下 HTML5 Canvas DOM Canvas对象 HTML5内联SVG 两种绘图方法的比较

HTML 往日冒险 08 说在前面HTML5 CanvasHTML DOM Canvas 对象HTML5 内联 SVGCanvas vs. SVG 说在前面 HTML的往日冒险的基础教程篇已经完结: 从元素与标签开始,我们学习了属性,标题,段落,样式,格式化,引用…

创建vue3项目及初始化

1.项目创建 nvm nvm(node version manage):node多版本管理 //配置nvm的镜像服务器 nvm node_mirror https://npmmirror.com/mirrors/node///显示已安装的node版本 nvm list//安装指定版本的node nvm install latest nvm install lts nvm i…

大数据---聚类分析概述及聚类评估

聚类概述: 什么是聚类? 是把数据对象集合按照相似性划分成多个子集的过程。每个子集是一个簇(cluster),分类的最终效果:使得簇中的对象彼此相似,但与其他簇中的对象相异。聚类是无监督学习,因…

SpringCloudAlibaba:服务网关之Gateway学习

目录 一、网关简介 (一)为什么要用网关 (二)网关解决了什么问题 (三)常用的网关 二、Gateway简介 (一)核心概念 (二)工作原理 三、Gateway快速入门 &…