gen*_*ood 5 security wireless vpn networking
为了安全起见,我想在使用公共 wifi 时使用 VPN。为了建立我的 OpenVPN 隧道,我需要一个有效的网络连接。当我连接到公共 wifi 接入点时,在连接后但在启动我的 VPN 客户端之前有一个时间窗口,连接并更新路由表,在此期间,来自我的系统的流量未加密地通过公共 wifi 传输。
在那个时间段内,除了发往我的 OpenVPN 服务器的流量外,我怎样才能让 wifi 不通过流量?
额外的功劳:有没有办法将 wifi 网络列入受信任的白名单(例如我的家庭或工作 wifi),以便允许所有流量,因为我不会使用 VPN?
我会按以下顺序尝试iptables
以下操作:
# Allow dhcp
sudo iptables -A OUTPUT -p udp --dport 67:68 --sport 67:68 -j ACCEPT
# Allow outbound VPN traffic
sudo iptables -A OUTPUT -p udp --dport 1194 -d 0.0.0.0/0 -j ACCEPT"
# DROP all outbound WIFI
sudo iptables -A OUTPUT -i wlan0 -j DROP
Run Code Online (Sandbox Code Playgroud)
在办公室和家庭网络中,您必须运行:
# Accept all outbound traffic
sudo iptables -D OUTPUT -i wlan0 -j DROP
Run Code Online (Sandbox Code Playgroud)
可能有一个iptables
扩展会使用 WIFI SSID 或其他一些路由器标识符进行过滤,但我不熟悉任何
注意:您可能需要更新 ovpn 远程端口和/或 WIFI 网络接口名称
也许我可以为你提供解决方案。
创建脚本于/etc/NetworkManager/dispatcher.d/vpn-up
#! /bin/bash
REQUIRED_CONNECTION_NAME="<name-of-connection>"
VPN_CONNECTION_NAME="<name-of-vpn-connection>"
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
Run Code Online (Sandbox Code Playgroud)
女巫的意思是,如果没有连接到REQUIRED_CONNECTION_NAME
又名家庭 wifi dispecher 将连接到vpn
。
NM
仅当您用于连接时这才有效VPN
。如果不用于NM
连接vpn
,请使用命令更改脚本nmcli con up id "${VPN_CONNECTION_NAME}"
以vpn
运行连接。
归档时间: |
|
查看次数: |
1346 次 |
最近记录: |