当前的疫情迫使我(我想你们中的大多数人也一样)在家工作。在家工作让我意识到我的设置存在局限性。我缺乏网络知识,甚至无法在网上找到正确的答案。
问题在于从 docker 路由到我使用 Cisco AnyConnect 访问的公司网络内的任何东西。
我在 Arch Linux 上运行(内核:5.7.5-arch1-1)
这些是我的界面:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether
3: wlp60s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether
5: cscotun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1390 qdisc fq_codel state UNKNOWN mode DEFAULT group default qlen 500
link/none
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
link/ether
来自主持人:
$ nslookup any.corp.address
Server: 10.10.11.10
Address: 10.10.11.10#53
Non-authoritative answer:
Name: any.corp.address
Address: xxx.yy.zzz.zzz
来自docker:
$ docker run busybox telnet 10.10.11.10 53
telnet: can't connect to remote host (10.10.11.10): Connection timed out
我想要说的是,可以从主机(通过 vpn 网络接口)访问公司 DNS 服务器,但无法从 docker 容器内访问该 IP。
我如何允许从 出来的流量docker0
前往cscotun0
?