我已经使用创建了一个隧道设备
ip tuntap 添加 dev tun0 模式 tun 用户 0 组 0
然后我给它分配一个 ip 地址 192.168.0.1/22
ifconfig tun0 192.168.0.1 网络掩码 255.255.252.0
在我的以太网设备 eth0 上,我从 IP 地址范围 192.168.1.2-192.168.1.5 中的机器接收数据包。我希望这些数据包在隧道设备上转发。我不希望在以太网和隧道设备之间建立桥梁。因此,我在路由表中添加了路由条目,如下所示。
ip 规则添加从 192.168.1.0/24 查找 myinternal
ip route add default via 192.168.0.1 dev tun0 table myinternal
我已刷新(删除)所有 ip 表条目。但是有两个条目
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
当我在 tun0 上执行 tcpdump 时,我看不到来自 eth0 的数据包。但是,当我在 eth0 上执行 tcpdump 时,我可以看到数据包。我想知道如何在 tun0 上转发/捕获这些数据包。从 tun0 以后,我想处理这些数据包并从我的应用程序回复它们,如果需要,将它们传递到另一个接口。我无法将 eth0 …
您如何知道 OpenVPN 中是否建立了站点到站点 VPN 隧道?除了ping对方,有没有命令什么的显示隧道的状态?
我正在尝试通过运行在 docker 容器内的 OpenVPN 客户端在我的 LAN 上运行隧道所有网络流量。
我的路由器和默认网关在 10.10.10.1 上运行
我在一个 docker 容器中运行 OpenVPN,它有自己的 IP,所有端口都在 10.10.10.25 上打开
OpenVPN 正在连接到我的 VPN 提供商 - 如果从正在运行的 docker 容器内部运行 traceroute,流量将通过我的 VPN 正确路由 - curl 也可以正常工作,正确路由流量。
但是,如果我将任何 LAN 设备上的默认网关设置为 10.10.10.25,则无法路由到 Internet。
OpenVPN docker 容器中的路由是:
0.0.0.0/1 via 10.8.8.1 dev tun0
default via 10.10.10.1 dev eth0
10.8.8.0/24 dev tun0 proto kernel scope link src 10.8.8.46
10.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.25
128.0.0.0/1 via 10.8.8.1 dev tun0
172.83.40.68 via 10.10.10.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
在 OpenVPN 容器中运行的 …
首先,我的设置是一台 Ubuntu 笔记本电脑和一台 Ubuntu 服务器。
我的本地笔记本电脑上有一个程序需要访问某个 Web 服务(我们称之为http://someserver.com/someservice123)。现在这个服务有一个防火墙,它只允许从我服务器的 IP 访问。
我可以在笔记本电脑和服务器之间使用某种类型的 SSH 隧道,以便当笔记本电脑上的 python 脚本向http://someserver.com/someservice123发送请求时,该服务会看到来自我服务器 IP 的请求?
我知道它看起来像:
ssh -N -R 80:localhost:80 user@myserver
Run Code Online (Sandbox Code Playgroud)
但我不确定。
所以我试图让 OpenVPN 在端口 53 上工作 - 遗憾的是这不起作用。
我使用 IP 表将端口 53 映射到端口 1194(标准 OpenVPN 端口)
这是我执行此操作的方法:
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-port 1194
iptables -I INPUT -p udp --dport 53 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
这是因为连接很好,除非我尝试访问新域!DNS 根本不再起作用。
这是我的服务器配置:
local xxx.xxx.xxx.xxx #- your_server_ip goes here
port 1194 #- port
proto udp #- protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push …Run Code Online (Sandbox Code Playgroud) 我知道在启动新的 SSH 会话后Enter,我可以打开 SSH shell 来启动新隧道(然后~和最后C):
>ssh -L 9000:localhost:9000
Forwarding port.
Run Code Online (Sandbox Code Playgroud)
有没有办法在已经 SSH 的情况下以非交互方式完成此操作?
我在这里忽略安全隐患,这是针对本地开发情况,我可能需要打开一条通往将侦听随机端口的服务器的隧道。
我ldapserver在严格的防火墙后面有一个 LDAP 服务器 ( )的设置,以及在appserver防火墙外的服务器 ( )上运行的 web 应用程序,需要使用该 LDAP 服务器进行身份验证。
我已经成功地使用了第三台服务器 ( tunnelserver) 作为中间服务器appserver,ldapserver通过在 上运行以下命令来设置 SSH 隧道tunnelserver:
ssh username@appserver -R 28420:ldapserver:389
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我偶尔会遇到一个破损的管道,并丢失了 SSH 隧道。
一个解决方案似乎是autossh,但我有限的 SSH 知识几乎无法使隧道正常工作,而且似乎不足以正确重新指定autossh.
有小费吗?
我想设置一个 IPv6-in-IPv4 SIT 隧道服务器。我已经浏览了Ubuntu IPv6 wiki 页面,但所有内容都旨在作为客户端连接到隧道,而不是托管隧道。我想使用 6in4,因为它非常简单/通用,并且似乎可以毫无问题地协商大多数家用路由器/防火墙。
这将主要由我们的系统管理员人员使用,用于通过本地不支持的 DSL/Cable 连接从家里访问 IPv6。我想自己运行它的原因有两个:
这将由 5-10 个用户同时使用。
我拥有的可用作主机的设备:
提前致谢。
我正在尝试通过 ssh 连接到远程主机 B,但网络访问控制规定我只能通过主机 A 执行此操作。我将如何执行此操作?
已尝试创建到主机 A 的隧道 ssh -f -N -D 2222 user@hostA
然后当从本地创建新的 ssh 连接时指定隧道端口来隧道这些连接,但不能让它工作.. ssh -L 2222:hostB:22 hostA
涉及主机:本地主机A(本地内网)主机B(内网)
流量:Local > HostA > HostB
任何指针都将是超级手……提前致谢!
我有一台连接到蜂窝 IPv4 网络(3G USB 加密狗)的笔记本电脑和连接到另一个 IPv4/IPv6 网络的 PC。两者都配置为作为 IPv6 路由器运行,并且每个都有自己的 IPv6 网络。
笔记本电脑通过 3G 网络连接到互联网,一个接口上有 IPv4 地址(私有地址,而且大部分都在变化),另一个接口在 AP 模式下提供自己的私有 IPv6 网络 (2001:db8:444::/64) . PC 通过组织网络连接到 Internet,一个接口上有公共 IPv4 和 IPv6 地址,另一个接口在 AP 模式下提供自己的私有 IPv6 网络 (2001:db8:222::/64)。两者都运行 Linux Ubuntu。
是否可以让两个 IPv6 网络(2001:db8:222::/64 和 2001:db8:444::/64)通过 IPv4 Internet 进行通信?
在这种情况下,openvpn 是否有利于通过 IPv4-IPv4 隧道获取 IPv6 流量?
感谢您提前提供帮助