Linux(二十二)——服務器初始化指南

文章目錄

  • 前言
  • 一、配置國內 Yum 源(加速軟件安裝)
  • 二、更新系統與安裝必備工具
  • 三、網絡連接驗證
  • 四、配置主機名
  • 五、同步時間
  • 六、配置防火墻
    • 6.1 使用 iptables
      • 6.1.1 整體思路
      • 6.1.2 詳細步驟
      • 6.1.3 完整配置腳本示例
      • 6.1.4 常用管理命令
    • 6.2 使用 firewalld
  • 總結

前言

服務器初始化是系統管理中的基礎且關鍵的一步。合理的初始化配置不僅能提升服務器的安全性、穩定性和可維護性,還能為后續的服務部署與應用運行打下良好基礎。

本文以 CentOS 7 為例,詳細介紹從系統源配置、基礎工具安裝到網絡、主機名、時間同步及防火墻設置的全流程,幫助您快速完成一臺新服務器的基本環境搭建。


一、配置國內 Yum 源(加速軟件安裝)

將默認的國外 Yum 源替換為國內鏡像源(如阿里云、清華源),可顯著提升軟件包的下載速度。

# 1. 備份原有的源文件,防止意外發生
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

在這里插入圖片描述

# 2. 下載阿里云的 CentOS 7 源文件(推薦,速度快且穩定)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 下載并配置阿里云的 EPEL 源(提供大量額外軟件包)
sudo yum install -y epel-release
sudo sed -e 's|^metalink=|#metalink=|g' \-e 's|^#baseurl=|baseurl=|g' \-e 's|^//download.fedoraproject.org/pub|//mirrors.aliyun.com|g' \-e 's|http://download.example|https://mirrors.aliyun.com|g' \-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo

在這里插入圖片描述

# 4. 清理舊緩存并生成新緩存
yum clean all && yum makecache

在這里插入圖片描述

可選:如需使用清華源,可將第 2 步命令替換為:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo


二、更新系統與安裝必備工具

系統更新能獲取最新的安全補丁和軟件版本,同時安裝常用工具可為后續維護和開發提供便利。

# 1. 更新整個系統(內核更新需重啟生效)
sudo yum update -y# 2. 安裝一批常用工具
sudo yum install -y \vim-enhanced \    # 加強版的 vi 編輯器wget \            # 命令行下載工具curl \            # 網絡數據傳輸工具telnet \          # 網絡診斷工具net-tools \       # 包含 ifconfig 等網絡工具bash-completion \ # 命令自動補全增強lsof \            # 列出打開的文件sysstat \         # 系統性能監控工具(含 iostat、sar 等)htop \            # 交互式進程查看器(比 top 更好用)tree \            # 以樹狀圖列出目錄內容git \             # 版本控制工具unzip \           # 解壓 zip 文件lrzsz             # 提供 sz(下載)、rz(上傳)命令,方便終端傳輸文件# 若需開發環境,可安裝:
# sudo yum groupinstall -y "Development Tools"yum install -y vim-enhanced wget curl telnet net-tools bash-completio lsof sysstat htop tree git unzip lrzsz

在這里插入圖片描述


三、網絡連接驗證

確保服務器能正常訪問外網,是后續所有操作的基礎。

# 1. 查看當前 IP 地址,確認網絡接口已啟動
ip addr show
# 或使用:
ifconfig

在這里插入圖片描述

# 2. 測試域名解析(檢查 DNS 是否正常)
ping -c 4 www.baidu.com

在這里插入圖片描述

# 3. 測試外網連通性
ping -c 4 114.114.114.114# 若無法上網,需檢查網絡配置,例如:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0(網卡名可能為 ens33 等)

在這里插入圖片描述


四、配置主機名

設置易于識別的主機名,方便服務器管理。

# 1. 查看當前主機名
hostname

在這里插入圖片描述

# 2. 設置新主機名(例如:centos7-master)
sudo hostnamectl set-hostname centos7-master

在這里插入圖片描述

# 3. 修改 hosts 文件,將本機主機名解析到本地
# 在文件末尾添加一行:127.0.0.1 <你的主機名>
sudo vim /etc/hosts
# 例如添加:127.0.0.1 centos7-master# 4. 重新登錄 Shell 生效,或執行以下命令立即生效
bash

在這里插入圖片描述
在這里插入圖片描述


五、同步時間

保證服務器時間準確,對日志分析、證書驗證等操作至關重要。

# 1. 安裝 chrony 時間同步服務(CentOS 7 首選)
sudo yum install -y chrony# 2. 啟動 chronyd 服務并設置開機自啟
sudo systemctl start chronyd
sudo systemctl enable chronyd

在這里插入圖片描述

# 3. 強制立即與時間服務器同步,同步時間 1分鐘~5分鐘
sudo chronyc -a makestep

在這里插入圖片描述

# 4. 查看時間同步狀態
sudo chronyc sources -v
# 或查看當前系統時間:
date

在這里插入圖片描述


六、配置防火墻

CentOS 7 支持 iptablesfirewalld 兩種防火墻管理方式,可根據實際需求選擇。

6.1 使用 iptables

盡管系統默認采用 firewalld,許多管理員仍傾向于使用 iptables,因其操作更直觀且控制更靈活。iptables 能實現更精細化的規則配置,尤其適合需要精準控制網絡流量的場景。

6.1.1 整體思路

  1. 停止并禁用 firewalld
  2. 安裝 iptables-services
  3. 設置默認策略;
  4. 編寫放行規則;
  5. 保存規則并設置開機自啟。

6.1.2 詳細步驟

第 1 步:停止并禁用 Firewalld

# 第 1 步:停止并禁用 firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld

在這里插入圖片描述

第 2 步:安裝并啟動 Iptables Services

# 安裝 iptables-services 包,它提供了保存規則和作為服務管理的功能
sudo yum install -y iptables-services# 啟動iptables服務并設置開機自啟
sudo systemctl start iptables
sudo systemctl enable iptables

在這里插入圖片描述

第 3 步:設置默認策略(安全基礎)
在添加任何允許規則之前,先設置最嚴格的默認策略:拒絕所有傳入連接,允許所有傳出連接,允許轉發

警告:在執行以下命令前,請確保你已經放行了 SSH 端口(通常是22),否則會立即斷開遠程連接! 最好在本地控制臺操作。

# 1. 設置默認策略(非常重要!先做這一步)
sudo iptables -P INPUT DROP    # 默認拒絕所有進來的流量
sudo iptables -P FORWARD DROP  # 默認拒絕所有轉發的流量
sudo iptables -P OUTPUT ACCEPT # 默認允許所有出去的流量# 2. 允許所有本地回環(lo)接口的通信,這是系統內部通信所必需的
sudo iptables -A INPUT -i lo -j ACCEPT# 3. 允許已建立的和相關聯的連接通過
# 這條規則至關重要!它允許對外請求的返回數據包進入,否則無法正常上網和使用大多數服務。
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

第 4 步:添加具體的放行規則(按需開放)

現在,在嚴格的基礎上,按需開放端口。

# 1. 允許SSH連接 (端口22) - 這是遠程管理的生命線,必須開放!
# 可以使用 --dport 22 或 -m tcp -p tcp --dport 22,后者更精確
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 2. 允許PING (ICMP協議),便于網絡診斷
sudo iptables -A INPUT -p icmp -j ACCEPT# 3. 允許HTTP (80) 和 HTTPS (443)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 4. 如果需要放行其他端口,例如MySQL (3306)、自定義端口(8080)
# sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
# sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

第 5 步:保存規則并重啟服務

iptables 的命令規則默認只在內存中生效,重啟后會丟失。必須使用以下命令保存到配置文件中。

# 保存當前內存中的規則到 /etc/sysconfig/iptables 文件
sudo service iptables save
# 或者使用
sudo /usr/libexec/iptables/iptables.init save# 重啟iptables服務,確保配置加載無誤
sudo systemctl restart iptables

第 6 步:驗證配置

# 查看當前生效的所有iptables規則,檢查配置是否正確
sudo iptables -L -v -n --line-numbers# 檢查iptables服務狀態
sudo systemctl status iptables

在這里插入圖片描述

6.1.3 完整配置腳本示例

可將以下內容保存為 setup_iptables.sh 并執行(請在安全環境中測試):

#!/bin/bash# 停止firewalld
echo "Stopping firewalld..."
systemctl stop firewalld
systemctl disable firewalld# 安裝iptables-services
echo "Installing iptables-services..."
yum install -y iptables-services# 設置默認策略和基礎規則
echo "Setting up iptables rules..."
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 添加放行規則
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    # SSH
iptables -A INPUT -p icmp -j ACCEPT              # ICMP (Ping)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # HTTPS
# 在此添加你需要的其他規則...# 保存并啟用
echo "Saving rules and enabling service..."
service iptables save
systemctl start iptables
systemctl enable iptablesecho "Configuration complete! Current rules:"
iptables -L -v -n

在這里插入圖片描述

授權并執行:

chmod 744 setup_iptables.sh
sudo ./setup_iptables.sh

在這里插入圖片描述
在這里插入圖片描述

6.1.4 常用管理命令

命令說明
sudo iptables -L -v -n查看當前規則(詳細模式)
sudo iptables -L -v -n --line-numbers查看規則并顯示行號(用于刪除規則)
sudo iptables -D INPUT <行號>刪除指定行號的規則
sudo service iptables save保存當前規則(必須執行)
sudo systemctl restart iptables重啟 iptables 服務
sudo systemctl status iptables查看服務狀態

注意:服務部署完成后,需根據實際需求繼續添加相應端口或協議的放行規則。

6.2 使用 firewalld

CentOS 7 默認使用 firewalld 作為防火墻前端管理工具。配置原則是:默認拒絕所有傳入連接,只開放必要的端口

# 1. 查看防火墻狀態
sudo systemctl status firewalld
# 如果未啟動,則啟動并設置開機自啟
sudo systemctl start firewalld
sudo systemctl enable firewalld# 2. 查看當前開放的端口和服務
sudo firewall-cmd --list-all# 3. 放行常用的服務端口(根據需求選擇)
# 放行 SSH 端口(默認22,極其重要,確保自己能連上)
sudo firewall-cmd --permanent --add-service=ssh
# 放行 HTTP (80) 和 HTTPS (443) 端口,用于Web服務
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 如果需要放行自定義端口,例如 8080
# sudo firewall-cmd --permanent --add-port=8080/tcp# 4. 重新加載防火墻配置使其生效
sudo firewall-cmd --reload# 5. 再次確認規則已生效
sudo firewall-cmd --list-all

重要安全提示:如果修改了 SSH 端口(例如改為 5922),一定要先放行新端口再關閉舊端口,否則可能導致自己無法遠程連接!

sudo firewall-cmd --permanent --add-port=5922/tcp
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

總結

服務器初始化分為以下幾個步驟:

  1. 配置國內Yum源
  2. 安裝運維的必備工具
  3. 網絡驗證
  4. 配置主機名
  5. 同步時間并且設置主機映射 為了加快主機之間訪問速度
  6. 配置防火墻
  7. 設置 ssh 端口 以及用戶的密碼(設置密碼復雜性 數字+大小寫 符號+并且設置18位以上)或者公鑰和私鑰登錄

完成以上所有步驟后,您的 CentOS 7 服務器就已完成了基本的安全與功能初始化。建議最后執行一次重啟(sudo reboot),以確保所有配置(特別是內核更新和主機名設置)完全生效。此時服務器已處于安全、穩定、高效的狀態,為后續應用部署和服務搭建奠定了堅實基礎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94705.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94705.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94705.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

我用Photoshop Firefly+Blender,拯救被環境毀掉的人像大片

今日陽光正好。這樣的天氣對于攝影師來說是種饋贈&#xff0c;但也讓我想起了這個行業最普遍也最無奈的痛點&#xff1a;我們精心策劃了一場拍攝&#xff0c;模特的表現、光線的質感都近乎完美&#xff0c;但最終卻因為一個平淡的陰天、一處雜亂的背景&#xff0c;或是一個無法…

【線性代數】常見矩陣類型

目錄 1. 方陣(Square Matrix) 2. 對稱矩陣(Symmetric Matrix) 3. 反對稱矩陣 / 斜對稱矩陣(Skew-Symmetric Matrix) 4. 對角矩陣(Diagonal Matrix) 5. 三角矩陣 6. 正交矩陣(Orthogonal Matrix) 7. 冪等矩陣(Idempotent Matrix) 8. 正定矩陣 / 半正定矩陣 …

達夢數據庫統計信息收集

達夢數據庫統計信息收集 檢查統計信息收集情況 如何手動收集統計信息 查看統計信息收集結果 統計信息手動收集策略 統計信息的自動收集 檢查統計信息收集情況 檢查最近一次統計信息收集時間: --表的最近一次統計信息收集時間 SQL> select owner,table_name,last_analyzed…

【目標檢測】論文閱讀4

Fast and accurate object detector for autonomous driving based on improved YOLOv5 發表時間&#xff1a;2023年&#xff1b;期刊&#xff1a;scientific reports 論文地址 摘要 自動駕駛是人工智能的一個重要分支&#xff0c;實時準確的目標檢測是保證自動駕駛車輛安全穩…

wpf之DockPanel

前言 DockPanel是一個容器控件&#xff0c;容器中的子控件通過設置DockPanel.Dock屬性來調整位置 1、DockPanel.Dock DockPanel.Dock的值有Left、Right、Top、Bottom 1.1 Left 指示控件靠左停靠 1.2 Right 指示控件靠右停靠 1.3 Top 指示控件靠上停靠 1.4 Bottom 指示…

解決VSCode中Cline插件的Git鎖文件沖突問題

文章目錄 問題現象 錯誤分析 解決方案 方法一:手動刪除鎖文件(推薦) 方法二:檢查并終止Git進程 方法三:重置檢查點目錄 方法四:完全重新初始化 預防措施 總結 在使用VSCode進行開發時,許多開發者會選擇安裝Cline插件來提升工作效率。然而,在使用過程中,可能會遇到一些…

視頻合成素材視頻-多合一功能-青檸剪吧

剪輯繁瑣耗時&#xff1f;這款工具正在改變創作者的日常。最近很多人都在用的剪輯神器&#xff0c;叫青檸剪吧。它尤其適合需要批量處理視頻的朋友&#xff0c;內置40多項功能&#xff0c;從替換、分割到對齊、導出&#xff0c;基本覆蓋了剪輯全流程。操作簡單&#xff0c;哪怕…

未成功:使用 Nginx 搭建代理服務器(正向代理 HTTPS 網站)

下載 nginx: download 解壓配置http 編譯conf/nginx.conf http {server {listen 8080; # 代理服務器監聽端口resolver 8.8.8.8; # DNS 解析器location / {proxy_pass $scheme://$host$request_uri; # 轉發請求proxy_set_header Host $host;proxy_set_header X-Real-IP $…

【Python】新手入門:Python標準庫有哪些常用模塊?

?? 個人主頁:(時光煮雨) ?? 高質量專欄:vulnhub靶機滲透測試 ?? 希望得到您的訂閱和支持~ ?? 創作高質量博文(平均質量分95+),分享更多關于網絡安全、Python領域的優質內容!(希望得到您的關注~) ??文章目錄?? 前言 ??一、操作系統接口 ??二、文件通配符…

從雙重檢查鎖定的設計意圖、鎖的作用、第一次檢查提升性能的原理三個角度,詳細拆解單例模式的邏輯

public class SFTPUtil {// 16 usages&#xff08;注釋為截圖中的使用統計&#xff0c;實際代碼無需保留&#xff09;private static ChannelSftp sftp;// 6 usages&#xff08;注釋為截圖中的使用統計&#xff0c;實際代碼無需保留&#xff09;private volatile static SFTPUt…

Win10部署ElasticSearch、Logstash、Kibana

一、本地部署 ElasticSearch 1、下載 Elasticsearch 安裝包 點此下載 Elasticsearch 2、解壓到指定目錄 3、winR 輸入 cmd&#xff0c;進入 Elasticsearch 安裝目錄運行 .bat 文件 4、瀏覽器輸入 https://localhost:9200 &#xff0c;并進行身份驗證 在 Elasticsearch 的 bi…

解決Visual Studio中UWP設計器無法顯示的問題:需升級至Windows 11 24H2

一則清晰的錯誤提示&#xff0c;指明了前進的方向。近日&#xff0c;我在使用Visual Studio進行UWP應用開發時遇到了一個棘手問題——MainPage.xaml的設計視圖無法正常顯示&#xff0c;取而代之的是一個明確的系統提示。本文將詳細分析這一問題及其解決方案。 問題現象 當在Vis…

PINN物理信息神經網絡多變量回歸預測,Matlab實現

前言 物理信息神經網絡&#xff08;Physics-Informed Neural Networks, PINNs&#xff09;是一種結合深度學習與物理定律的神經網絡方法&#xff0c;旨在解決涉及偏微分方程&#xff08;PDEs&#xff09;的問題。以下是對該問題的詳細解答&#xff1a;物理信息神經網絡的定義與…

SagooIoT 產品國產化

國產化說明&#xff0c;支持的國產化數據庫、服務器、操作系統以及國產化中間件。操作系統統一uos操作系統紅旗Linux麒麟V10操作系統中天鯤鵬歐拉版本操作系統服務器華為泰山服務器海光服務器華為鯤鵬服務器只要是能兼容Linux操作系統的服務器&#xff0c;你都可以嘗試替換。數…

去哪里學AI?2025年AI培訓機構推薦!

隨著人工智能技術在金融風控、智能醫療、工業制造等領域的加速落地&#xff0c;其已成為全球科技競爭的核心賽道。但人才供給的不足卻制約著行業發展&#xff0c;中國信息通信研究院 2024 年發布的《人工智能人才發展報告》顯示&#xff0c;我國 AI 領域年度人才缺口已達 720 萬…

800G時代!全場景光模塊矩陣解鎖數據中心超高速未來

引言&#xff1a; 在AI算力爆發與云服務迭代的浪潮下&#xff0c;全球數據中心正加速邁入800G時代。面對激增的帶寬需求與嚴苛的能效挑戰&#xff0c;如何選擇兼具高性能、低功耗與靈活部署的光模塊&#xff1f;全系列800G解決方案已構建完整技術生態&#xff0c;為算力基礎設施…

TDengine IDMP 5 個實測場景讓監控變簡單

概述 在工業#數字化轉型 的賽道上&#xff0c;“監控系統搭建” 一直是個讓人頭疼的難題&#xff1a;傳統方案要寫 SQL、調腳本、學可視化工具&#xff0c;一套流程走下來少則幾天、多則幾周&#xff0c;運維新增設備還得重復折騰。但現在&#xff0c;有了 TDengine TSDB TDe…

關于vscode的右鍵常用操作以及自定義快捷鍵

最近我一直在使用vscode進行嵌入式開發&#xff0c;我發現比keil好用多了&#xff0c;記錄常用右鍵操作&#xff0c;以及自定義快捷鍵&#xff0c;記錄下來&#xff0c;多希望對大家有所幫助。vscode自定義快捷鍵F8&#xff1a;跳轉到類型定義 只需要將鼠標左鍵點擊變量&…

二、添加3D形狀

幾何體的生成主要依賴MeshBuilder類添加和管理,包含如下方法: 目錄 幾何體 1、立方體 AddBox 2、球體 AddShpere 3、圓環 AddTorus 4、錐體或截錐體 AddCone 5、圓柱體 AddCylinder 6、空心管道 AddPipe 7、圓截面管道 AddTube 8、擠壓二維截面 AddExtrudeGeometry…

Excel 表格 - 乘法與除法處理(保留兩位小數四舍五入實現、保留兩位小數截斷實現、添加百分號)

乘法函數 1、保留兩位小數四舍五入實現 &#xff08;1&#xff09;基本介紹 ROUND(【單元格 1】 * 【單元格 2】, 2)【單元格 1】 * 【單元格 2】&#xff1a;基本的乘法運算ROUND(..., 2)&#xff1a;外層函數&#xff0c;將結果四舍五入到指定的小數位數&#xff0c;2 表示保…