AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 417322
Accepted
Selivanov Pavel
Selivanov Pavel
Asked: 2012-08-15 03:12:13 +0800 CST2012-08-15 03:12:13 +0800 CST 2012-08-15 03:12:13 +0800 CST

OpenVPN 网桥:远程客户端看不到本地

  • 772

粗略的解决方案:

iptables -A FORWARD -i br200 -j ACCEPT
iptables -A FORWARD -o br200 -j ACCEPT

我仍然不明白发生了什么。桥接是在 L2 上进行的,iptables 不应接触该数据包。


配置:

Debian 6.0 压缩版

OpenVPN 2.2.1(来自反向移植)

我的任务是在数据链路层将远程客户端与本地网络连接起来,使它们处于同一个广播域中,并与本地客户端具有相同的网络/网络掩码。我正在使用 TAP 接口和桥接。所有相关接口(以太网(本地网络)、TAP(VPN)和网桥)都设置为混杂模式。网络/网络掩码是 172.20.200.0/24。服务器地址为 172.20.200.2。

本地客户端和远程客户端都可以ping通服务器,但是本地客户端和远程客户端之间没有连接。在服务器 ( ) 上使用数据包捕获程序 tsharktshark -i br200 -f "icmp"我看到从远程客户端到本地的 icmp 回显请求。在本地客户端上,我没有看到该请求(使用 Wireshark)。此外,本地客户端在arp缓存中有远程客户端arp地址,远程客户端在arp缓存中有本地客户端arp地址。所以,他们在数据链路网络层看到对方。但是他们就是不能互相ping通!两个客户端都禁用了防火墙和防病毒软件。问题出在哪里?我不明白。

/etc/网络/接口

auto bond0.200
  iface bond0.200 inet manual
        vlan_raw_device bond0
        up ifconfig bond0.200 0.0.0.0 promisc up

  auto br200
  iface br200 inet static
        bridge_ports bond0.200
        bridge_stp off
        bridge_fd 1
        address 172.20.200.2
        netmask 255.255.255.0
        post-up ifconfig br200 promisc

/etc/openvpn/server.conf

mode server
tls-server
port *****
proto tcp-server
dev tap200

script-security 2

up /etc/openvpn/bridge-start
down /etc/openvpn/bridge-stop

ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
#crl-verify crl.pem

auth sha1
cipher AES-256-CBC

; !!!
; comp-lzo

tun-mtu 1500
mssfix 1450

client-config-dir /etc/openvpn/ccd
ccd-exclusive

client-to-client
keepalive 10 120

persist-key
persist-tun

status /var/log/openvpn/server-arm.status
log-append  /var/log/openvpn/server-arm.log

/etc/openvpn/ccd/client-arm23

ifconfig-push 172.20.200.132 255.255.255.0

/etc/openvpn/网桥启动

#!/bin/bash
#set -x
#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

br="br200"
tap="tap200"

openvpn --mktun --dev $tap
ifconfig $tap 0.0.0.0 promisc up

brctl addif $br $tap

exit 0

/etc/openvpn/bridge-stop

#!/bin/bash
#set -x
####################################
# Tear Down Ethernet bridge on Linux
####################################

br="br200"
tap="tap200"

brctl delif $br $tap

openvpn --rmtun --dev $tap

exit 0

所有接口上的 MTU 和 MRU 一致。

bond0.200 是绑定设备上的 vlan 设备。也许这会以某种奇怪的方式导致错误?

openvpn
  • 1 1 个回答
  • 6203 Views

1 个回答

  • Voted
  1. Best Answer
    nudzo
    2012-08-18T13:31:12+08:002012-08-18T13:31:12+08:00

    您很可能忘记启用转发。添加net.ipv4.ip_forward=1到/etc/sysctl.conf,然后sysctl -p或重新启动。还尝试将以下内容添加到 OpenVPN 配置中:

    server-bridge 172.20.200.2 255.255.255.0 172.20.200.100 172.20.200.200
    push "route 172.20.200.0 255.255.255.0"
    

    请注意,将接口添加到桥接器会适当地设置 promisc 标志。桥接口不需要处于混杂模式。

    我运行了相同的设置,但在 OpenSUSE 上,TAP 接口是在启动期间创建的,而 OpenVPN 只是打开它们——OpenVPN 中没有启动/停止脚本。

    • 3

相关问题

  • OpenVPN:在哪里生成私钥?

  • 将 iPhone 连接到 OpenVPN

  • OpenVPN 的 Linux IP 转发 - 正确的防火墙设置?

  • 最好的点对点 VPN?

  • 通过 VPN 使您的打印机可用的最佳方法是什么?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve