我刚刚在 CentOS 7 服务器上安装完 OpenVPN,并且已成功连接。我检查了我的公共 IP 地址,它是远程服务器 IP。
但我仍然无法从我的 Windows 客户端浏览该服务器上的文件夹。我想我需要激活一些共享或更改工作组或更改一些设置,但我不知道。
所以我在这里寻求帮助:如何通过 VPN 访问网络资源?
我不想使用 Samba,因为我相信不用它同样可以做到。
我正在使用 OpenVPN 网页界面
添加信息
/etc/sysctl.conf
:
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
# Added By Me
# Recycle Zombie connections
net.inet.tcp.fast_finwait2_recycle=1
net.inet.tcp.maxtcptw=200000
# Increase number of files
kern.maxfiles=65535
kern.maxfilesperproc=16384
# Increase page share factor per process
vm.pmap.pv_entry_max=54272521
vm.pmap.shpgperproc=20000
# Increase number of connections
vfs.vmiodirenable=1
kern.ipc.somaxconn=3240000
net.inet.tcp.rfc1323=1
net.inet.tcp.delayed_ack=0
net.inet.tcp.restrict_rst=1
kern.ipc.maxsockbuf=2097152
kern.ipc.shmmax=268435456
# Host cache
net.inet.tcp.hostcache.hashsize=4096
net.inet.tcp.hostcache.cachelimit=131072
net.inet.tcp.hostcache.bucketlimit=120
# Increase number of ports
net.inet.ip.portrange.first=2000
net.inet.ip.portrange.last=100000
net.inet.ip.portrange.hifirst=2000
net.inet.ip.portrange.hilast=100000
kern.ipc.semvmx=131068
# Disable Ping-flood attacks
net.inet.tcp.msl=2000
net.inet.icmp.bmcastecho=1
net.inet.icmp.icmplim=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
# Mysql conf
答案1
您误解了 Windows 本身无法“浏览”Linux 文件系统,而当涉及网络时,您需要一个协议,以便两个设备可以使用相同的语言相互通信。
老实说,您最好安装以下任一产品:
桑巴- 这样您就可以在 Centos 7 机器上创建一些读/写共享,然后就可以通过 Windows 本地连接到这些共享。您需要配置可以访问的共享/文件夹,但您无法查看整个 Centos 文件系统(即能够查看 下的所有内容/
)。好吧,你可以,但这是最愚蠢的想法。此外,Samba 允许您通过双击打开远程文件,本地关联应用程序将打开文件以允许编辑/保存回远程位置。
或者
SSH 服务器- 如果您在 Centos 机器上安装了 SSH 服务器,那么您可以在 Windows 机器上使用客户端(例如 WinSCP)并(取决于您使用哪个帐户登录远程服务器)访问远程文件系统。如果您将远程文件下载到本地文件夹然后打开文件(它无论如何都会这样做),WinSCP 效果最佳,并且它只能本地打开文本文件。二进制文件稍微复杂一些。
答案2
您需要添加以下行
push "route 192.168.0.0 255.255.255.0"
到您的服务器的配置文件,假设这192.168.0.0/24
是您的家庭网络,否则请进行相应更改。
此外,您还需要masquerade
以下客户的地址:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.0.0/24 -j MASQUERADE
我假设您使用网络10.0.0.0/24
作为 OpenVPN 隧道,并且这192.168.0.0/24
也是您的家庭 LAN。
您还必须确保 中启用了 IPv4 转发/etc/sysctl.conf
,并且没有iptables
规则阻止虚拟接口(tun0/tap0
)和 LAN 接口之间的转发。