- 问题的引出
故事是这样的,之前一直用Ubuntu学习鸟哥Linux私房菜,然后有好多命令在Ubuntu中并没有预装,需要自己重新下载安装。另一方面Ubuntu虽然做得很好,桌面环境也非常的细腻,很多功能也能在桌面用鼠标点击几下就能实现。但是就是因为做得太好了,学习Linux的一些基础知识并不合适,人总是在困境中才能学到主动的地去发现问题和解决问题。随后果断的转战了CentOS了。
作为红帽的一种版本,CentOS用起来确实比Ubuntu要难,上手没有Ubuntu那么方便。实验室的网络连接设备有Wifi和网线连接,CentOS机子上由USB无限网卡和有线网卡,于是就想着能不能利用这个USB无线网卡实现局域网连接。虽然利用lsusb查看USB设备,系统竟然能够识别,还小小的激动了一把,然并卵,这丫的就是看着好看,连了半天也没连上,后面去网卡的官网下载了Linux版本的驱动器也,结果装了半天还是各种报错,对于我这种菜鸟来说,想要在现阶段的水平去解决这些错误问题,感觉还是算了。
于是换了个思路,换有线的,网线走起,三下五除二就搞定了,也能上校内网了。好了,这下问题来了,对于校园网环境来说,许多用过Linux的人都知道,上网绝对不想Windows一样下载个客户端双击一下就完事了,毕竟是免费的很多应用支持远没有windows丰富。这也是往往让好多学生望而却步的就是上网问题了,之前在Ubuntu上网也是用实验室的一个大神编译的一个Drcome原码实现上网的,而在CentOS就没那么容易了,而新装CentOS机子上我觉得我还是别在这上面浪费太多时间了,也没去试,也许真的有用。
既然现在手头上的Ubuntu笔记本能上网,用的是无线网卡,那么还富余的有线网卡可不可以和CentOS台式机实现网络共享呢?于是就开始倒腾了。
- IP转发
为了解释这个名词特地上网查了好多资料,最后越看越多东西,完全搞糊涂了。其实原理很简单(我瞎想的,错了大家就当成笑话吧):
通过IP转发实现网络资源共享,首先两台电脑需要在同一个局域网当中,其中一台电脑A还得是拥有两个网卡,其中一个网卡负责和外部连接,另一块则是和另一台电脑B上的网卡搭建一个小型的局域网。当A连接到网络的时候,B想要通过A上网下载电影,就需要A将B的请求通过A的IP地址向外发送数据包,这样在学校的网管重心就会以为是A在上网下电影。等到网站上将电影数据传输过来之后并被A接收到之后,A会判断这不是我所要的数据,则会在自己的局域网内做广播(这是我们设定的功能),然后B接收到这些数据后,核对数据目的IP就是自己的,也就是说这是自己想要的数据,便接收过来了。
- 相关操作
这边就讲具体的东西了,如果读者不能够静下心来老老实实看些资料学习怎么折腾,讲了也没用。
1. 用有线连接AB两台电脑,设置IP地址搭建小型局网,PS:别忘了网关要一致;
2. A电脑IP转发设置,具体用的命令可以参考:
a. 查看/proc/sys/net/ipv4/ip_forward,如果是1表示已经设置,否则设置成1;
b. iptables -F
c. iptables -A FORWARD -j ACCEPT
d. iptables -t nat -A POSTROUTING -j MASQUERADE
上诉命令可通过man去查看,这里不细讲了。
3. 最后A实现外部网络连接,B就可以通过A上网了。
解决一个问题,就会发现更多的问题,然后等你将这些问题都解决了,你的生活就会更加美好便利了。
越是怕麻烦,就会越麻烦!