IPSec:是否可以檢查數據包是否通過 IPSec 隧道傳遞?
在我們的部署中,我們有兩台伺服器。我想通過主機連接到主機 VPN:Host-To-Host VPN Using Openswan
在一台伺服器上,我們在第二台伺服器上有 JMS 代理,我們有 JMS 客戶端,我希望僅在通過 IPSec 通道傳遞時才允許訪問 JMS 代理(JMS 代理和客戶端僅用於範例)。
是否可以檢查數據包是否通過 IPSec 通道傳遞?
您可以根據特定欄位 ipsec 過濾數據包。例如,您可以通過 -m 選項或 –match 使用 iptables 提供的不同模組:
- 政策
- 他有
- 特別是
- IP 源和目標隧道
http://linux.die.net/man/8/iptables,見匹配擴展
政策
此模組與 IPsec 用於處理數據包的策略相匹配。
–dir 輸入|輸出
用於選擇是否匹配用於解封裝的策略或將用於封裝的策略。in 在 PREROUTING、INPUT 和 FORWARD 鏈中有效,out 在 POSTROUTING、OUTPUT 和 FORWARD 鏈中有效。
–pol 無|ipsec
如果數據包受 IPsec 處理,則匹配。
- 嚴格的
如果策略的任何規則與給定策略匹配,則選擇是匹配確切的策略還是匹配。
–reqid id
匹配策略規則的reqid。reqid 可以通過 setkey(8) 使用 unique:id 作為級別來指定。
——睡著了
匹配 SA 的 SPI。
–proto ah|esp|ipcomp
匹配封裝協議。
–mode 隧道|傳輸
匹配封裝模式。
–tunnel-src 地址$$ /mask $$
匹配隧道模式SA的源端點地址。僅對 –mode 隧道有效。
–tunnel-dst 地址$$ /mask $$
匹配隧道模式SA的目的端點地址。僅對 –mode 隧道有效。
- 下一個
開始策略規範中的下一個元素。只能與 –strict 一起使用