linux – 使用iptables,匹配通過IPSEC隧道到達的數據包


背景

  近日在調試阿里雲的vpn網關應用同IDC服務器上strongswan進行雙向互通 。

  由於IDC沒有硬件出口網關設備,配置iptables網關代替。

主要步驟:

  一、雲上ecs已經可以正常ping通並連接上IDC內網服務器。此處參靠阿里雲上配置即可輕松完成,不在贅述。

  二、IDC內網通過iptables策略聯通ecs的方式

    思路:

      我在隧道模式下使用IPSEC.

       如何制定一個iptables規則,它只匹配通過IPSEC隧道到達的數據包(即在IPSEC解密它們之后 – 當它們到達時和解密之前不是IPSEC數據包).

    關鍵是要有一個只能通過IPSEC訪問並且世界其他地方無法訪問的端口

      需要使用策略模塊,並指定ipsec策略以匹配此流量.例如,以下規則允許所有入站流量到tcp端口1580.不要忘記規則順序在iptables中很重要,並且您可能還需要允許返回半數據包,具體取決於您當前的OUTPUT限制.

iptables -A INPUT -m policy --pol ipsec --dir in -p tcp --dport 1580 -j ACCEPT

        我的具體配置如下:

    

iptables -I INPUT -s SIP -p esp -j ACCEPT
iptables -I INPUT -s SIP -p udp --dport 500 -j ACCEPT
iptables -I INPUT -s SIP -p udp --dport 4500 -j ACCEPT
iptables -I INPUT -m policy --pol ipsec --dir in -j ACCEPT
iptables -I FORWARD -m policy --pol ipsec --dir in -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s LIP -m policy --dir out --pol ipsec -j ACCEPT

SIP為雲vpn網關的地址;
LIP為IDC內網的地址;

  在網關的服務器上增加以上的iptabels策略后,IDC和ecs的內網可以雙向互通。 

感謝內容

     https://lauri.xn--vsandi-pxa.com/2017/04/strongswan-config-examples.html

    http://www.voidcn.com/article/p-xntcuooj-btx.html

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM