如何远程连接局域网电脑 一台Linux系统有公网IP

如何远程连接局域网电脑 一台Linux系统有公网IP,第1张

1、VPN

2、局域网的网关提供一个转发端口,比如转发一个代理程序,之后这台公网机器用代理转发进入内网。

3、还一个办法是局域网桥接 VPN 到一个第三方的网络或者反向 VPN 到你这台公网机器上。

无关的,还一个办法就是远程桌面,实现方式很多,比如 QQ 就可以提供,这种适合在局域网内直接 *** 作被控制的机器为主(不过 QQ 不支持 Linux,需要考虑别的软件)。VPN 性能不好,建议用远程 RDP 协议,或者 X11 自己的协议,前者 Windows 使用(Linux 也能用,后者 Linux only )。或者直接 ssh 字符登陆进行 *** 作。

不过楼主说的 iptables 明显的就是代理转发的方式。说白了就是我上面说的方法 2 ,iptable 做反向代理,从外网转到内网。

太 bi~ 的一点,寻求高质量回答的界面,居然不显示问题本体,而且也不显示时间。

实现Linux下的局域网远程接入,利用Linux服务器的两个串口构建拨号服务器的方法,远程用户可以通过拨号连接到局域网,方便地进行信息传递和资源共享。

实现步骤如下:

初始化串口设备

在/etc/inittab文件中加入如下两行,用来初始化ttyS0和ttyS1两个串口设备: 

S0:345:respawn:/sbin/mgetty -D -X 3 ttyS0 

S1:345:respawn:/sbin/mgetty -D -X 3 ttyS1 

然后,运行“/sbin/init q”命令使改动生效。

指定认证方式

在/etc/PPP目录下创建文件ppplogin,内容如下:

#!/bin/sh

/usr/sbin/pppd auth -chap +pap login

该文件指定用户登录时采用PAP认证。PAP和CHAP是PPP服务的两种身份验证协议。

保存文件后,给文件设置执行的权限:

#chmod a+x /etc/ppp/ppplogin

然后,更改/etc/mgetty+sendfax/login.config文件,去掉“/AutoPPP/”一行前面的注释,并改为如下内容:

/AutoPPP/ - - /etc/PPP/ppplogin

修改options文件

修改/etc/PPP/Options文件为如下内容;

detach

Modem

Lock

crtscts

asyncmap 0

netmask 255.255.255.0

proxyarp

ms-dns 192.168.11.1

“detach”选项非常重要。如果不指定这个选项,拨号程序就会进入后台,使得Shell脚本退出,随之而来的是串行线路被挂断,导致连接中止。“detach”防止了tty设备脱离PPPD的控制。

“Modem”选项使得PPPD监视DTR引线,可以观察到对等点是否已掉线。

“Lock”选项指定在串行设备上使用UUCP风格的锁定。

“crtscts”选项用以打开硬件握手信号。

“asyncmap 0”设置了异步字符映射,这个映射指定控制字符不能直接通过连接发送,需要先进行转义。

“netmask 255.255.255.0”设定PPP网络接口的网络掩码。

“proxyarp”选项打开了ARP代理功能。

“ms-dns”2.168.11.1”指定了局域网内的DNS服务器地址,如没有可以不设。

给拨入用户分配IP

创建/etc/ppp/Options.ttyS0和/etc/ppp/

options.ttyS1两个文件,内容如下:

# Vi options.ttyS0

192.168.11.3:192.168.11.242

# Vi options.ttys1

192.168.11.3:192.168.11.243

其中,“192.168.11.3”是用作拨号服务器的那台Linux机器的IP地址,“192.168.

11.242”和“192.168.11.243”是分别指定给COM1口和COM2口拨入用户的IP地址。

口令验证

编辑文件/etc/PPP/pap-secrets,内容如下:

* * "secret" 192.168.11.242

* * "password" 192.168.11.243

如上所示,每行代码包含四列,分别代表用户名、服务器地址、口令值和IP地址列表。“*”表示可以与任何内容进行匹配。

用户拨入后,如果需要访问局域网内的其它服务器,就必须打开IP转发功能:

echo 1>/proc/sys/net/ipv4/ip_forward

要想在空闲一段时间后自动解除连接,需要在/etc/ppp/options中加入如下一行:

idle 600

上述代码中,“600”表示600秒,即10分钟。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8900360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存