Man*_*lva 6 linux kernel dns vpn cisco
如上一个问题所述,我想同时连接到 2 个 VPN 服务器,并为每个连接指定我想使用它访问的计算机的 IP。这个 VPN 连接之一是用vpnc一个default.conf文件完成的,另一个是用 Cisco 客户端完成的(我现在无法连接,vpnc因为我没有连接所需的 IPSecrete 元素)。
我可以通过vpnc以下方式完成连接:我能够连接配置目标 IP 以使用创建的接口,如下所示:
#!/bin/sh
#Get default gateway
DEFGW=`ip route list | grep default | awk -F' ' '{print $3 }'`
DEVICE=`ip route list | grep default | awk -F' ' '{print $5 }'`
echo "Default Gatway is: $DEFGW on device $DEVICE"
echo "Starting vpnc"
sudo vpnc
echo "Adding routes to known computers through VPN network interface"
sudo route add -net 132.181.11.0 netmask 255.255.255.0 dev tun0
echo "Adding all other routes through standard network interface"
sudo route del default
sudo route add default gw $DEFGW dev $DEVICE
Run Code Online (Sandbox Code Playgroud)
现在,在同时运行这两个连接之前,我尝试对 Cisco 客户端执行相同操作,但我遇到了resolv.conf. 该文件由 VPN 客户端使用域值和 DNS 服务器值修改。运行以下脚本导致 DNS 解析错误(由 chrome 报告)
#!/bin/sh
#Get default gateway
DEFGW=`ip route list | grep default | awk -F' ' '{print $3 }'`
DEVICE=`ip route list | grep default | awk -F' ' '{print $5 }'`
echo "Default Gatway is: $DEFGW on device $DEVICE"
echo "Starting cisco"
sudo /opt/cisco/vpn/bin/vpn connect 134.214.244.203
echo "Adding routes to computers through VPN network interface"
sudo route add -net 132.212.146.156 netmask 255.255.255.255 dev cscotun0
echo "Adding all other routes through standard network interface"
sudo route del default
sudo route add default gw $DEFGW dev $DEVICE
Run Code Online (Sandbox Code Playgroud)
欢迎对此提供任何帮助和评论,并解决问题。
谢谢
/etc/resolv.conf定义了计算机主机名解析(例如,如果有的话,当你尝试解决非FQDN主机名缺省域名搜索....查找的裸www变成www.yourdomain.example.com),并以该服务器被用来做查询.
VPN 客户端可能修改 /etc/resolv.conf 的原因之一,也是最有可能的原因是让 VPN 客户端计算机使用特定的名称服务器进行主机名解析 - 例如,如果 VPN 路由器运行缓存名称服务器。
没有什么能阻止你将 /etc/resolv.conf 改回你想要的样子,VPN 客户端软件甚至可以为你提供一些自动化的方法来做到这一点(否则只需 cp resolv.conf 的备份副本回来到位......但您可能难以解析某些名称(例如,某些域设置有公共和私有视图 - 外部人员只能看到“公共”名称,而内部人员 - 包括 VPN 客户端 - 查看所有内部私有名称同样)。
解决此问题的一种方法是 cp 不是原始 resolv.conf 的备份副本,而是具有首选名称服务器和搜索域以及 VPN 客户端软件所需内容的修改副本。