linux下的网络环境配置以及samba服务器

来源:互联网 发布:java开发的经典书籍 编辑:程序博客网 时间:2024/06/11 16:27

今天学习了有关linux下的网络环境配置以及samba服务器的安装和使用。


在记录配置步骤之前,要先说一下网络的知识(我自己也巩固一下)。

Tcp/Ip协议:

这个协议是二战过后由美国军方研发出来的一个通讯协议,因为民间许多搞协议开发的人们都在开发着各自的协议,只能在他们的局域网中使用,于是他们开始思考要设计一个协议能够让各地区的人们都能够通过这套协议进行通信,1974年由美国国防部退出了一套协议标准,也就是tcp/ip协议,并且共享出来让人们都能使用。历史方面的我了解的不多也就不多说了。

要明白tcp/ip不是一个协议,而是一组协议(tcp,ip,udp,arp等)

tcp/ip协议最初的理论模型是7层模型,分别是(应用层,表示层,会话层,传输层,网络层,数据链路层和物理层);但实际上我们使用的tcp/ip协议时4层模型(应用层,传输层,网络层,链路层)。有关这些层之间是怎么进行传递的,用我们的聊天案例说明一下:

比如传统的聊天(QQ,或者聊天室什么的)。我们的内容不是一下子就发送到对方电脑上的,这之间经过了许多的步骤。比如A电脑发送了一个hello给B电脑,我们的电脑里面都会安装tcp/ip模块(没有的话是上不去网的),这个模块就包含了那四层模型。那么这个hello信息就会从应用层直到链路层(网卡),然后通过路由达到另一个电脑的链路层再到应用层

具体过程如图,数据来到应用层先被应用层加上一个app头,这个数据头包含了是哪个应用程序(端口号什么的,要不QQ发的消息和邮件发的消息怎么区分呢)。

进入传输层会加上一个tcp头,此时的数据叫做TCP段;进入网络层会给数据加上一个ip头,这个ip头能够让数据在网络中找到目的地主机,这时候这就是一个数据包了。在进入链路层的时候会在数据的前后加上帧头帧尾,这个数就能在网络中传输了。链路层将数据包发送到网卡,网卡通过起功能将数据包发送到网络中。数据包在网络中会经历若干个路由器达到目的地(大家可以试试这个命令 tracert www.baidu.com  看看经过多少个路由器),理论上你访问的主机距离你越远访问速度越慢 因为你要经过很多个路由器。

最终找到了ip对应的主机(ip地址存在的情况且不受防火墙影响),到达对方的网卡,然后进入链路层,链路层去掉帧头帧尾,进入网络层去掉ip头,进入传输层去掉tcp头,应用层去掉app头(识别那个应用)。最终得到hello这个数据。

ip地址和部分相关知识:

ip地址分为a,b,c,d,e五类,其中a类最珍贵,目前也被用完了,都在老美或者欧洲人那,你在百度上可以查ip对应的地理位置和机构。

通常127打头的地址叫本地回环地址,做J2EE开发的就知道我们在自己机子上访问tomcat服务器,浏览器输入localhost:8080 或者 127.0.0.1:8080.其实只要是127打头的就能访问。

192.168打头的ip通常是局域网ip.

子网:一般ip地址的前3位相同,就说这两个ip在同一网段,比如山东济南和山东青岛,都在山东这个“局域网”。而山东,河北,河南等都是在中国里面的,也就是在一个子网中。也就是说,网络号一样的(看ip属于第几类来判断前几位是网络号),就是在一个子网里面。比如 192.168.1.0  192.168.2.0  192.168.3.0 在一个子网里面。182.168.1.1 和192.168.1.2是同一网段。

网关:网关是一个ip地址,相当于出国的关口,你的数据想进入网络,都要经过网关,网关一旦断掉就上不了网了。比如网吧里面的网络数据都是要经过一个网关,网关断掉了网吧里的电脑全部掉线。因此有很多技术屏蔽一些不良网站什么的都是在网关上做文章,屏蔽ip.(google被屏蔽是不是也是这样呢?)

网上对于网关的概念:一台计算机何玲一台计算机之间通信都要经过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。


基本知识说的差不多了,下面是有关linux下网络配置的步骤

windows和windows之间共享数据和文件可以用网上邻居,但是windows和linux就不能用这个了,要用一个叫samba的工具。

想让我们的windows能和linux之间进行文件共享和数据传输,第一个任务是ping通他们。那么首先就要配置linux的ip.这里有三个方法,先打开linux控制台。

方法1:输入命令 setup,来到一个蓝色的控制台,选择network configuration 点击yes就能设置ip了。可惜的是我没有成功,可能是我系统的问题没有设置的选项。

方法2:ifconfig eth0 ip地址  这样ip设置就会立即生效,但只是临时的,关机后又会恢复原来的ip

方法3:修改文件/etc/sysconfig/network-script/ifcfg-eth0这个文件,文件信息如下

这个文件里面的信息
DEVICE=eth0 网卡设备
BOOTPROTO=static        静态的自己配置IP  (对应的是 dhcp动态分配)
HWADDR=08:00:27:E7:99:58
ONBOOT=yes 是否启动网卡,no就是禁用
IPADDR=192.168.11.22这里就是大家要配置的IP地址
GATEWAY=192.168.11.255网关ip
NETMASK=255.255.255.0子网掩码

我注释了这几行的含义,然后大家就去配置吧。

设置ip之前说一下怎么设置:在windows下 ipcongig能够看见自己机子有一个虚拟机的网卡,根据这个网卡的IP,我们要把虚拟机系统的IP和他设置到同一网段
然后再从windows下输入指令ping 虚拟机ip就能发现ping通了。

不管那个方法,配置完以后要输入一个命令才能生效:/etc/init.d/network restatr 

然后你ifconfig一下看看,是不是改成你要的ip了呢?

还有一个地方要注意,虚拟机在设置->网络那里,选择 Host-only adapter  网上说的是桥接不过我没成功,你们都试试看看那个能ping通用哪个。


ping通以后,大家可以尝试玩玩tomcat,在虚拟机开tomcat,然后再你windows浏览器输入虚拟机ip8080是可以访问到你的tomcat的。这个我亲测过。

然后介绍一下samba服务器。一般来说你在安装linux的时候可能会一并安装samba了,当然最好在安装的时候就安完整,要是安得不完整删除也很麻烦(有很多依赖你就没法完全删除了,强制删除还可能出错)。要是你的机子已经在装系统的时候装过了就不用自己装了直接开始操作

samba有三个rpm包,安装完以后,首先把linux中的某些个用户设置为samba用户。命令:cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd  这个命令千万别写错了。  密码设置  命令  smbpasswd username  这个命令是为你的某个用户设置密码,这个用户一定是在的linux中存在的别乱写。启动samba服务器 命令 service smb。 start

这些步骤完了就可以在windows下访问linux了。

ctrl+r打开命令  输入  \\你linux的ip地址


然后出来一个界面,在界面输入你刚刚设置密码的用户名密码,就进入了一个类似文件夹的地方。


我绑定了root,大家可以绑定别的用户,那么上面那个图片里面的文件夹里面就是linux下的/home/username 对应用户名的文件夹了,你可以把你的文件拖拽到这个空间,在linux下ls -l也能看见你放上去的文件,实现了文件共享。


今天就到这里,理论偏多一点,配置也不难,但是我失败了好几次主要就是安装系统的时候自带的samba不全,删除的时候还会破坏依赖,导致后期使用samba会出错,请大家格外注意。另外发现这样每天用博客记录下做自己的学习效果还是不错的,推荐大家也时常对自己每天的学习做做笔记。  上述过程和理论要是哪里有问题,还请指正。

0 0