時間:2019年7月26日linux
地點:家裏web
內容:防火牆、策略與規則鏈、iptable、firewalld、SNAT、TCP Wrappers網絡
分類:app
在進行路由選擇前處理數據包(PREROUTING);ssh
處理流入的數據包(INPUT);tcp
處理流出的數據包(OUTPUT);工具
處理轉發的數據包(FORWARD);性能
在進行路由選擇後處理數據包(POSTROUTING)。學習
動做狀態:網站
ACCEPT(容許經過)
REJECT(拒絕經過)
LOG(記錄日誌)
DROP(拒絕且不反饋)
擴展:iptables詳解
特殊格式: 流量轉發命令格式爲firewall-cmd --permanent --zone=<區域> --add-forward-port=port=<源端口號>:proto=<協議>:toport=<目標端口號>:toaddr=<目標IP地址>
如何區分SNAT和DNAT
1.從定義來說它們一個是源地址轉換,一個是目標地址轉換。都是地址轉換的功能,將私有地址轉換爲公網地址。
要區分這兩個功能能夠簡單的由鏈接發起者是誰來區分:
內部地址要訪問公網上的服務時(如web訪問),內部地址會主動發起鏈接,由路由器或者防火牆上的網關對內部地址作個地址轉換,將內部地址的私有IP轉換爲公網的公有IP,網關的這個地址轉換稱爲SNAT,主要用於內部共享IP訪問外部。
當內部須要提供對外服務時(如對外發布web網站),外部地址發起主動鏈接,由路由器或者防火牆上的網關接收這個鏈接,而後將鏈接轉換到內部,此過程是由帶有公網IP的網關替代內部服務來接收外部的鏈接,而後在內部作地址轉換,此轉換稱爲DNAT,主要用於內部服務對外發布。
在配置防火牆或者路由acl策略時要注意這兩個NAT必定不能混淆。
程序若是調用了libwrap.so庫,表示支持。
ldd 程序路徑|grep libwrap.so
strings 程序路徑|grep libwrap.so
#ldd /usr/sbin/sshd|grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f9851678000)
#ldd /usr/sbin/vsftpd |grep libwrap.so
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f802ef50000)
#strings `which sshd`|grep libwrap.so
libwrap.so.0
控制文件:白名單(路徑:/etc/hosts.allow)
黑名單(路徑:/etc/hosts.deny)
配置原則:
編寫拒絕策略規則時,填寫的是服務名稱,而非協議名稱;
建議先編寫拒絕策略規則,再編寫容許策略規則,以便直觀地看到相應的效果。