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

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

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

拿到服务器后:
一:
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 登录即可。

# 注:该操作只针对于: CentOS7, 以及以上版本生效
hostnamectl set-hostname csdnDev001

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/software
 cd /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_121 我们在环境变量中配置JAVA_HOME时, 只能使用软链接的地址
ln -s /usr/local/jdk1.8.0_121/ /usr/local/jdk
# 配置后软链接如下:
lrwxrwxrwx  1 root          root                 24 Jan  7 16:50 jdk -> /usr/local/jdk1.8.0_121/
drwxr-xr-x  8            10           143      4096 Jan  7 16:50 jdk1.8.0_121

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

设置环境变量

vim /etc/profile
  #将下列的命令复制到profile文件中
  export JAVA_HOME=/usr/local/jdk
  export JRE_HOME=$JAVA_HOME/jre
  CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  export 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 分支中提取的新特性能。

此处是第二个和第三个规范, 在

及开发环境.
3. 拿到服务器后, 需要修改服务器名称, 配置网络, 本地域名指向
4. 服务器命名如下:

  1. 安装所需要的系统环境, 只可使用tar 的方式安装, 好处如下: 以后
# 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-prohibited

COMMIT

未完待续…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章