openwrt运行openvpn服务器的另一种方式(访问服务器端内网设备)第二章

      区别于网上能搜到的其他文章,这些都是经过测试成功的,但是需要点小基础,openvpn server端是联通网络,ppoe拨号获得公网ip,有免费域名解析,客户端电信,非公网ip,直接通过ddns域名连接服务器。

首先,设置server.conf文件如下:

采用DEV TAP,二者区别如下:另外,更改1194端口.

  • TUN (网络层)(单纯访问资源)

    • TUN设备是一个点对点的虚拟网络接口,用于IP包的传输。
    • 它只处理网络层的协议(如IP),适用于路由模式。
    • 通常用于创建VPN连接,使得通过TUN传输的数据包像通过物理网络一样。
  • TAP (数据链路层)(访问网内设备)

    • TAP设备是一个虚拟以太网设备,可以处理以太网帧。
    • 它工作在数据链路层,适用于桥接模式。
    • 适合需要在两个网络之间传输以太网数据的场景,例如需要支持广播和多播的应用。
port 23776
proto udp
dev tap

ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/server.crt
key /etc/openvpn/pki/private/server.key
dh /etc/openvpn/pki/dh.pem
server-bridge 192.168.6.253 255.255.255.0 192.168.6.102 192.168.6.150
#server 10.8.0.0 255.255.255.0
#push 'route 192.168.6.0 255.255.255.0'
#push "route-gateway 10.8.0.1"
#push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
client-to-client
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
persist-key
persist-tun
user nobody
group nogroup
status /tmp/openvpn-status.log
log-append /var/log/openvpn.log
verb 4

端口不用1194,怀着小窃喜,有可能会躲过一波扫描,再就是协议选择了TAP,解决了服务器推送路由,和客户端接收到的地址不准确的问题(困扰了很久,但是也还能用,不知道抽啥风)

server-bridge 192.168.6.253 255.255.255.0 192.168.6.102 192.168.6.150

这一行的意思告诉客户端,192.168.6.253是网关,192.168.6.102-150是可以分配给客户端的ip,注意:网关必须是网关的地址,不要担心有冲突换成别的ip,其他的选项不做解读,有兴趣可查阅我的下一篇文章。

文件写好后保存,并且路由器上选择自定义,若不然,server.conf根本不能作用,起作用的是:

/etc/confg/openvpn这个配置文件。

如下图:

需要和下面这个文件做好区别,这个文件中,啥也不是,你若非自定义,则需要修改它:


root@H3C:~# cat /etc/config/openvpn

config openvpn 'custom_config'
        option config '/etc/openvpn/server.conf'
        option enabled '1'

config openvpn 'sample_server'
        option port '1194'
        option proto 'udp'
        option dev 'tun'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/server.crt'
        option key '/etc/openvpn/server.key'
        option dh '/etc/openvpn/dh2048.pem'
        option server '10.8.0.0 255.255.255.0'
        option ifconfig_pool_persist '/tmp/ipp.txt'
        option keepalive '10 120'
        option persist_key '1'
        option persist_tun '1'
        option user 'nobody'
        option status '/tmp/openvpn-status.log'
        option verb '3'

config openvpn 'sample_client'
        option client '1'
        option dev 'tun'
        option proto 'udp'
        list remote 'my_server_1 1194'
        option resolv_retry 'infinite'
        option nobind '1'
        option persist_key '1'
        option persist_tun '1'
        option user 'nobody'
        option ca '/etc/openvpn/ca.crt'
        option cert '/etc/openvpn/client.crt'
        option key '/etc/openvpn/client.key'
        option verb '3'

root@H3C:~#

文件配置好以后,server端应该在接口的设备项中有一个tap0的设备,此时无需任何设置,接下来做桥接设置,修改/etc/config/network如下:

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        list ports 'tap0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.6.253'
        option netmask '255.255.255.0'
        option ip6assign '60'

重点就是,device中,要有tap0接口,此时,web看lan选项,会有tap和eth0的桥接。

然后,客户端配置文件选择

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
dev tap

其他参数配置和我其他文章配置一样即可,点连接,此时连接没问题,查看客户机路由表如下:

可以访问服务器所在网络的打印机,以及网络共享资源等。手打笔记,绝对真实。

另外建议,防火墙开放端口设置成时间段限制,可以进一步提升点安全感。

### 如何在 OpenWRT 上安装配置 OpenVPN #### 安装必要的软件包 为了使 OpenWRT 支持 OpenVPN,需要通过 opkg 命令来安装相应的软件包。这通常涉及到 `openvpn` 和其他依赖项的下载与安装。 ```bash opkg update opkg install openvpn-openssl ``` 上述命令会更新本地包列表并安装基于 OpenSSL 的 OpenVPN 版本[^1]。 #### 配置 OpenVPN 服务 一旦完成安装过程之后,则需创建用于启动此服务所需的配置文件。一般情况下,默认位置是在 `/etc/config/openvpn` 或者 `/etc/openvpn/` 文件夹下放置自定义设置文件。 对于基本的服务端配置而言,可以编辑如下所示的内容: ```plaintext port 1194 proto udp dev tun ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1" keepalive 10 120 comp-lzo persist-key persist-tun status openvpn-status.log verb 3 ``` 这段配置指定了 OpenVPN 使用 UDP 协议监听端口 1194,并设置了虚拟子网地址范围以及其他一些重要的参数选项。 #### 启动和管理 OpenVPN 服务 最后一步就是确保 OpenVPN 可以随系统一起自动启动以及手动控制其运行状态。可以通过 UCI (Unified Configuration Interface) 来实现这一点,在终端执行下面两条指令即可达到目的: ```bash /etc/init.d/openvpn enable /etc/init.d/openvpn start ``` 以上操作将会把 OpenVPN 设置成开机自启模式并且立即激活该服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螃蟹咿呀爪八个

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值