Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 禁止特定 IP 存取:hosts.allow / hosts.deny 與 tcpd 實戰配置

編輯:關於 Linux

利用 /etc/hosts.allow 與 /etc/hosts.deny 搭配 tcpd (TCP Wrappers),可針對特定服務 (SSH、Telnet、FTP 等) 實施 IP 白名單/黑名單控管,無需調整防火牆規則。

配置檔格式

服務名稱: 用戶端清單 [: 選擇性命令]
# 例:sshd: 192.168.1.0/255.255.255.0 : allow
  • hosts.allow:優先比對,符合即允許。
  • hosts.deny:次優先比對,符合即拒絕。
  • 衝突時 hosts.deny 優先(預設拒絕原則)。

實戰範例

/etc/hosts.allow (白名單)

# 僅允許特定網段存取 SSH
sshd: 210.13.218.* : allow
sshd: 222.77.15.* : allow

# 允許特定 IP 存取所有服務
ALL: 218.24.129.110

# Telnet 僅限內部網段
in.telnetd: 140.116.44.0/255.255.255.0
in.telnetd: 140.116.79.0/255.255.255.0
in.telnetd: 140.116.141.99
in.telnetd: LOCAL

# Samba 僅限內部網段
smbd: 192.168.0.0/255.255.255.0

# HTTP/HTTPS/FTP 開放所有
httpd: ALL
vsftpd: ALL

# PPTP VPN 排除內部網段 (反向邏輯)
pptpd: ALL EXCEPT 192.168.0.0/255.255.255.0

/etc/hosts.deny (黑名單/預設拒絕)

# 預設拒絕所有 SSH 連線 (配合 allow 白名單使用)
sshd: ALL : deny

# 預設拒絕 Telnet
in.telnetd: ALL

# 其他服務預設拒絕,僅允許特定網段
ALL: ALL EXCEPT 192.168.0.1/255.255.255.0, 192.168.1.21, 202.10.5.0/255.255.255.0

關鍵字說明

  • ALL:比對所有服務/所有 IP。
  • EXCEPT:排除例外。
  • PARANOID:比對反向 DNS 與正向 DNS 不符者 (防偽裝)。

修改存檔後即時生效,無需重啟服務。配合 tcpdchk 驗證語法正確性。

Copyright © Windows教程網 All Rights Reserved