openvpn:無法使用 iptables 控制客戶端到客戶端的連接
我試過這篇文章:http ://backreference.org/2010/05/02/controlling-client-to-client-connections-in-openvpn/但沒有運氣。
我是 iptables 的新手。你能看看我的配置嗎?
Docker 容器(我正在使用這個:https ://github.com/kylemanna/docker-openvpn )在主機網路模式下執行
我正在使用
firewalld
禁用、iptables
安裝和啟用的 Centos7。ip_forward 已啟用。
# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
redirect-gateway def1
已關閉,因為我不需要通過 vpn 伺服器路由網際網路流量。這是初始 iptables 規則。
[root]# iptables -L 鏈輸入(策略接受) 目標 prot opt 源目標 Chain FORWARD(政策接受) 目標 prot opt 源目標 DOCKER-USER all——任何地方任何地方 Docker-ISOLATION all -- 任何地方任何地方 接受所有——任何地方任何地方 ctstate RELATED,ESTABLISHED DOCKER all -- 任何地方的任何地方 接受所有——任何地方的任何地方 接受所有——任何地方的任何地方 接受所有——任何地方任何地方 ctstate RELATED,ESTABLISHED DOCKER all -- 任何地方的任何地方 接受所有——任何地方的任何地方 接受所有——任何地方的任何地方 鏈輸出(策略接受) 目標 prot opt 源目標 鏈碼頭(2 參考) 目標 prot opt 源目標 鏈 DOCKER-ISOLATION (1 參考) 目標 prot opt 源目標 DROP all - 任何地方的任何地方 DROP all - 任何地方的任何地方 全部返回——任何地方任何地方 鏈 DOCKER-USER (1 參考) 目標 prot opt 源目標 全部返回——任何地方任何地方
每個客戶端在
ccd
目錄中都有一個具有靜態 IP 的配置文件。這是我為一位客戶做的事情ifconfig-push 10.8.0.102 10.8.0.1
在我的
openvpn.conf
我已經client-to-client
禁用指令。我有
tun0
iface 和10.8.0.0/24
網路。首先,我允許已經建立的連接:
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
然後我為 2 個客戶端可以互相聯繫設置轉發規則:
iptables -A 轉發 -s 10.8.0.10 -d 10.8.0.102 -j 接受 iptables -A FORWARD -s 10.8.0.102 -d 10.8.0.10 -j 接受
畢竟它不起作用。當我
ping 10.8.0.102
從我的 MAC(具有 ip 10.8.0.10)執行時,我得到:➜ ~ ping 10.8.0.102 PING 10.8.0.102 (10.8.0.102):56 個數據字節 來自 gwr-vl-201.**** (***.**.**.133) 的 36 個字節:過濾器禁止通信 Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 5400 29e3 0 0000 3d 01 8749 192.168.1.103 10.8.0.102
192.168.1.103 - 是我的區域網路地址
這是我在 Mac 上的路由表:
➜ ~ netstat -no 路由表 網際網路: 目標網關標誌 Refs 使用 Netif 過期 預設 192.168.1.1 UGSc 65 0 en0 10.8.0.1 10.8.0.10 UH 0 0 utun1 46.101.242.41/32 192.168.1.1 UGSc 0 0 en0 127 127.0.0.1 UCS 0 0 洛0 127.0.0.1 127.0.0.1 胡 24 2286 洛0 169.254 連結#4 UCS 0 0 en0 192.168.1 連結#4 UCS 0 0 en0 192.168.1.1/32 連結#4 UCS 2 0 en0 192.168.1.1 84: 16: f9: c5: c4: da UHLWIir 63 26 en0 1043 192.168.1.103/32 連結#4 UCS 0 0 en0 224.0.0 / 4 連結 # 4 UmCS 1 0 en0 224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0 255.255.255.255/32 連結#4 UCS 0 0 en0
我在伺服器上的路由表:
[]# 路由 -n 核心IP路由表 目標網關 Genmask 標誌 Metric Ref Use Iface 0.0.0.0 217.182.88.1 0.0.0.0 UG 100 0 0 eth0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 碼頭工人0 172.19.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-44c0269fbf91 217.**.**.1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0 217.**.**.**1 0.0.0.0 255.255.255.255 UH 100 0 0 eth0
我錯過了什麼?
提前致謝!
我終於讓它工作了!
我所要做的就是添加
push "route 10.8.0.0 255.255.255.0"
到伺服器配置中。之後,我可以創建任意 iptables 轉發規則(就像我在上面的文章中所做的那樣),然後添加
iptables -A FORWARD -j DROP
否認其他一切。