我正在運行一個容器,我想只允許它訪問特定的ips.換句話說,我想拒絕大多數目標ips.
我嘗試過以下方法:
iptables -I DOCKER-USER -o custom-interface ! -d xxx.xxx.xxx.xxx -j REJECT
但它拒絕所有連接,我無法ping xxx.xxx.xxx.xxx.
這真的很奇怪,我想我只是通過自定義介面來阻止輸出資料包,這不會達到xxx.xxx.xxx.xxx.因此,所有到達xxx.xxx.xxx.xxx的傳入資料包和輸出資料包都是可接受的.
但似乎我錯了.為什么?任何幫助都很感激.
編輯
接受的答案顯示了如何配置傳入限制,然后我學會了如何配置傳出限制.
創建BEFORE_DOCKER表
iptables -N BEFORE_DOCKER
默認
iptables -I BEFORE_DOCKER -j DROP
Docker容器公共管理員訪問權限(在此處插入所有允許的IP)
iptables -I BEFORE_DOCKER -o eth0 -d 172.114.1.23 -j ACCEPT
iptables -I BEFORE_DOCKER -o eth0 -d 10.129.172.12 -j ACCEPT
Docker容器受限制的LAN訪問(在此插入您的LAN IP范圍或多個IP)
iptables -I BEFORE_DOCKER -o eth1 -d 192.168.10.1 -j ACCEPT
iptables -I BEFORE_DOCKER -o eth1 -d 192.168.10.2 -j ACCEPT
最后一步是將其作為FORWARD鏈上的第一個表插入.
iptables -I FORWARD -i docker0 -j BEFORE_DOCKER
uj5u.com熱心網友回復:
使用默認規則REJECT創建BEFORE_DOCKER表,下一步是將其作為FORWARD鏈上的第一個表插入.創建BEFORE_DOCKER表
iptables -N BEFORE_DOCKER
默認
iptables -I BEFORE_DOCKER -j DROP
Docker容器公共管理員訪問權限(在此處插入所有允許的IP)
iptables -I BEFORE_DOCKER -i eth0 -s 172.114.1.23 -j ACCEPT
iptables -I BEFORE_DOCKER -i eth0 -s 10.129.172.12 -j ACCEPT
Docker容器受限制的LAN訪問(在此插入您的LAN IP范圍或多個IP)
iptables -I BEFORE_DOCKER -i eth1 -s 192.168.10.1 -j ACCEPT
iptables -I BEFORE_DOCKER -i eth1 -s 192.168.10.2 -j ACCEPT
最后一步是將其作為FORWARD鏈上的第一個表插入.
iptables -I FORWARD -o docker0 -j BEFORE_DOCKER
希望它會有所幫助!!
uj5u.com熱心網友回復:
感謝。參照您的辦法實作了IP白名單。博文地址: https://www.cnblogs.com/jiftle/p/13821394.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/173487.html
標籤:其他技術討論專區
下一篇:求助!python爬蟲
