Iptables
OpenVPN & iptables - 允許流量到伺服器端的某些特定主機
我在 Raspberry Pi 上設置了一個 OpenVPN 伺服器,並根據HOWTO對其進行了配置。我想從客戶端公開伺服器子網(192.168.123.0/24)中的某些主機。
我用了
push route 192.168.123.0 255.255.255.0
在 server.conf 文件中。我也設置
iptables
了以下方式:iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #allow ssh and vpn on pi - working fine ...
根據OpenVPN - 訪問策略,這應該允許流量轉發到特定主機或整個子網(從 HOWTO 中提取的行 - 這些地址不是我的實際地址範圍):
# Employee rule iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.66.4.4 -j ACCEPT # Sysadmin rule iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.66.4.0/24 -j ACCEPT # Contractor rule iptables -A FORWARD -i tun0 -s 10.8.2.0/24 -d 10.66.4.12 -j ACCEPT
這都沒有幫助。但是,如果我設置
iptables -P FORWARD ACCEPT
僅此而已,我可以看到所有我不想要的主機。我究竟做錯了什麼?
感謝您的幫助。
第 8 層一直出錯!
我忘記允許流量通過我的隧道設備返回。
解決方案是
#Set default policy of chain iptables -P FORWARD DROP #allow traffic to route from VPN subnet to specific host in subnet iptables -A FORWARD -i tun0 -s {VPN subnet} -d {host in server subnet} -j ACCEPT #allow traffic from host in server subnet back to VPN subnet iptables -A FORWARD -o tun0 -s {host in server subnet} -d {VPN subnet}
我在這裡受到這篇文章的啟發: