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

未完待續…

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