Category: Linux

ip 指令 — 取代 ifconfig 的工具

ip 指令的作用與 ifconfig 十分相似, 而 ip 指令在 RHEL 及 CentOS 也是預設安裝。而除了查詢網路設定外, 也可以用作設定網路, 以下是 ip 指令的一些常見用法。 查詢網卡名稱及使用的 IP 地址, 即如同直接執行 “ifconfig” 一樣: $ ip a 或 $ ip addr 或 $ …

Debian / Ubuntu 安裝設定 Samba

Samba 可以讓Linux 的檔案及印表機以 “網路上的芳鄰” 分享給 Windows 電腦, 以下是在 Debian 及 Ubuntu 安裝 Samba 的步驟: 用 apt-get 安裝 Samba 及其相關套件: $ sudo apt-get install -y samba samba-common python-glade2 system-config-samba 安裝好 Samba …

iptables 指令入門

iptables 是一套 Linux 下的防火牆,可以按需要建立 iptables 規則,允許或阻擋網路流量。但透過 SSH 設定 iptables 時要格外小心,因為如果設定錯誤,可能會阻擋外部連線,需要到機器面前進行修復,多年前我試過輸入一道錯誤的 iptables 指令,搞到要立即趕到 data center 修復。 iptables 設定時主要分三種類型,分別是 INPUT, FORWARD 及 OUTPUT。 INPUT: 這個行為是外來的連線,例如從遠端 SSH 到伺服器,iptables 會將這個連線定義為 INPUT。 FORWARD: 這是外來的連線,但最終目的地不是伺服器本身,只是轉送到其他機器,例如路由器,除了 routing, …

3 種 Linux 查看 port 被程式佔用的方法

Linux 下查看那個 TCP port 被佔用很實用, 以下列出 3 種在 Linux 下查看那些 port 已經被佔用, 及那些程式佔用這些 port 的方法。 Linux 查到 TCP Port 有開啟, 但是不知道是什麼程式佔用的, 要怎麼查出是被哪隻程式使用呢? 註: netstat -tln # 可以看到有哪些 IP:Port 開啟 1. …

Shell Script 取得外部 IP 地址

透過路由器連接上網的 Linux 系統, 路由器會分配一個私 IP 地址, 用 ifconfig 指令只會看到私有 IP 地址。如果在 Shell Script 需要查看對外的 IP 地址, 除了可以用擷取一些顯示 IP 地址的網站外, 以下分享一個使用 dig 及 OpenDNS 取得出外部 IP 的方法。 使用上十分簡單, 只要一行指令便可以取得 IP: $ …

nslookup — 查詢 DNS 工具

當設定好 DNS 伺服器後, 想查詢 DNS 的回應是否正常, nslookup 是其中一個很常用的工具。除了根據 /etc/resolv.conf 設定的 DNS 伺服器查詢外, nslookup 也可以手動設定要查詢的 DNS 伺服器。 要查詢 hostname 的 IP, nslookup 使用上很簡單, 例如想查詢 google.com 的 IP 地址, 語法是這樣: $ nslookup …

RHEL / CentOS 加入常用 Yum Repo

YUM 是 Redhat 及 CentOS 的套件管理工具, 它最方便的地方是解決套件相依性, 以下是幾個常用的 Yum Repo 及其安裝方法: RPMForge Repository 根據不同的系統類型安執行相關指令, 安裝 RPMForge Repository: EPEL Repository 根據不同的系統類型安執行相關指令, 安裝 EPEL Repository: Adding REMI Repository Adding …

Shell Script 轉換英文大小寫字母

在 Shell Script 要將用戶的輸入的英文字母轉換大小寫,或者要將檔案內文字的英文字母轉換大小寫,可以透過 tr 指令實現。 先看看 tr 指令的使用方法, 轉換檔案內所有大寫字母到小寫: $ tr ‘’ ‘’ < input.txt > output.txt 以上指令會將 input.txt 的檔案內容,全部大寫字母轉換為小寫,然後將結果匯入到 output.txt 檔案。 要將小寫轉換到大寫字母,只要將 upper 及 lower 倒轉即可: $ tr …

解決 CentOS 7 開機不啟動 rc.local

以前在 Redhat 及 CentOS 要設定開機自動執行的 Shell Script, 一般都會在檔案 /etc/rc.d/rc.local 加入需要執行的 Shell Script 或指令, 但在 CentOS 7 開始, /etc/rc.d/rc.local 預設權限改為 644, 即沒有執行權限, 為甚麼會這樣, 可以開啟 CentOS 7 的 /etc/rc.d/rc.local 看看, 裡面有 Redhat …

RHEL / CentOS 停用 IPv6

以下是 RHEL 及 CentOS 停用 IPv6 的方法。 開啟檔案 /etc/sysctl.conf: # vi /etc/sysctl.conf 加入以下兩行: 儲存檔案後離開編輯器。 新設定在重新開始便會生效, 要立即生效可以執行以下指令: # sysctl -p 停用 IPv6 後可能出現的問題: SSH 開啟 sshd 設定檔 /etc/ssh/sshd_config: # vi …