在平时的网络运维或是工作学习中,经常会有网络共享的需求,比如在高铁上想让你的笔记本能够通过手机上网,又比如在一个局域网下,想让其它主机临时通过自己的电脑代理上网,等等……
下面来介绍一些常用的网络共享方法。
目录
1.wifi共享网络
最常使用的就是wifi网络共享了,在手机设置中找到移动热点,开启后使用电脑连接到手机即可以上网。
但反过来电脑也可以为手机提供wifi热点,手机或其它网络设备连接到电脑发射的wifi信号即可上网,当然,前提是你的电脑有一个无线网卡。如果要求无线网卡既能够同时接收其它路由器发射的wifi,还能再创建一个共享网络,还必须是全双工的。
2.有线共享
有线共享就是你的主机能通过一种或多种方式上网,且具有至少两块网卡,那么就可以把这台主机做为一个简版的“路由器”进行代理上网。以windows为例,打开控制面板中的网络连接,切换到共享标签,将“允许其它网络用户通过此计算机的Internet连接来连接”,然后选择需要共享至的网卡。
选中之后,系统会将目标网卡的IP地址自动设置为“192.168.137.1”,这样服务端就配置好了。然后你需要在不能上网的客户机上,填入一个同网段的IP地址,如:192.168.137.10 掩码地址填写为:55.255.255.0 网关为:192.168.137.1,这样我们客户端就可以通过服务端的网络上网了。
值得注意的是,Windows在重新启动后,共享的设置虽然还在,但实际不能上网了,这应该是微软的一个bug。我们做如下处理:
使用Win + R快捷键调出运行窗口,输入regedit,打开注册表编辑器,依次定位到如下位置:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess 在空白处右击鼠标,新建"DWORD(32位)值(D),名称叫做"EnableRebootPersistConnection",将数值数据改为1。保存后重启计算机,下次重启就会自动开启连接了。
3.网络代理
通过代理服务器共享上网从技术实现角度来说可以分为硬件共享上网和软件共享上网两种方式,从代理服务器工作的层次的角度来说可以分为应用层代理、传输层代理和SOCKS代理。我们常用的是SOCKS代理,有两个版本的Socks协议,版本4和版本5。Socks版本4被简写为“Socks V4”,Socks版本5被简写为“Socks V5”。比如之前介绍的Windows代理软件CCproxy,(Linux下如Tinyproxy等),感兴趣的朋友不妨回看一下。
4.Linux网络共享
在Linux下代理可以使用防火墙配置网络转发来实现,由于目前已经使用firewalld来管理,故不再介绍iptables方法。首先启动firewalld防火墙。
在可以上网的服务器上操作
systemctl start firewalld systemctl enable firewalld如何不想客户机通过网关访问到自己服务器的ssh,可使用以下命令,仅仅使10.0.0.61能够访问到(慎用,不需要可忽略此步)。
firewall-cmd --remove-service=ssh --permanent firewall-cmd --add-rich-rule=rule family=ipv4 source address=10.0.0.61/32 service name=ssh accept --permanent开启ip伪装,为后续主机提供共享上网
firewall-cmd --add-masquerade--permanent # 重启firewalld生效 firewall-cmd --reload在没有外网的客户机上操作:
1)没有公网地址的内部服务器配置指向管理机的网关
vim /etc/sysconfig/network-scripts/ifcfg-eth1 #配置新增如下2条规则 GATEWAY=192.168.31.200 #有外网的服务器内网ip DNS1=114.114.114.114重启网卡
nmcli connection down eth1 && nmcli connection up eth1 ping baidu.com如果在windows上也是一样的配置,网络可以正常通信了。