Linux如何做文件服务器,为局域网中的Win机器提供文件服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux如何做文件服务器,为局域网中的Win机器提供文件服务相关的知识,希望对你有一定的参考价值。

如题,高手给个答案!!谢谢了!!

1.检测安装Samba服务

  (1).检查Samba服务包是否已安装:

  rpm -qa | grep samba

  (2).如未安装,则插入第一张安装盘,执行:

  mount /mnt/cdrom
  cd /cdrom/Redhat/RPMS
  
  (3).进入目录后安装Samba文件:

  注意:运Samba至少需要三个文件,分别为:
  samba-common-2.2.7a-7.9.0.i386.rpm //服务器和客户端均需要的文件
  samba-2.2.7a-7.9.0.i386.rpm //服务器端文件
  samba-client-2.27a-7.9.0.i386.rpm //客户端文件
  安装上述3个文件.
  rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm //另外两个省略不写

  (4).安装完成后弹出光驱:

  cd;eject

2.设置密码文件.

  (1).此设置的作用是将Linux中的系统用户(/etc/passwd)导入到samba密码文件中

  (/etc/samba/smbpasswd)
  cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

  (2).接下来给smbpasswd等文件及文件夹设置访问权限.

  chown root.root /etc/samba/smbpasswd
  chmod 600 /etc/samba/smbpasswd
  chmod 600 /etc/samba
  查看一下:
  ll -d samba

  (3).如果您想手动添加一个用户,则首先要保证Linux中该用户存在,步骤:

  useradd liu
  passwd liu
  smbpasswd -a liu //此步为添加Samba用户

3. 配置/etc/samba/smb.conf文件.
  
  虽然文件内容众多,但需要改动的不多,一般为按需所配:

  (1).修改[global](全局配置参数)

  workgroup = workgroup //工作组名称
  server string = samba server %v at %h //设置服务器名称.%v为版本号,%h为运行
  smb服务的主机名
  host allow = 192.168.80. 192.168.70. //允许访问服务器的主机
  client code page = 939 //支持简体中文共享名
  上述四条为比较重要的.其他配置大家可按需按情况修改.
  
参考技术A 这个要搭建SAMBA服务器了,才可以实现linux和windows之间的文件共享 参考技术B 架个38服务器 参考技术C 你搭建个SAMBA服务器。你在网上查一下就有LIUNX的SAMBA服务器的配置
其实要说的话是一大篇也说不完
最好就是去百度一下怎样搭建SAMBA服务器

redhat linux在局域网内别的机器可以正常通过ssh连接上,使用外网IP后无法连接

A电脑:操作系统redhat linux5.3 内网IP:192.168.0.99
B电脑:操作系统win7 内网IP:192.168.0.51
外网是固定IP
局域网内使用的是d-link di-7100企业级路由器
对端口21-23做了映射
如图

用B电脑ssh连接A电脑时用内网IP可以连接上
如图

但B电脑ssh连接A电脑时用外网IP就无法连接上
端口映射应该是没问题的。
请问是什么原因啊,该如何处理?

内网连接成功说明ssh服务没有问题,可能的问题是nat、路由或边界访问控制。
请做如下测试:
1、在redhat linux上开启tcpdump进行数据包抓取,具体如下:tcpdump -n "tcp port 22";
2、在外网对redhat nat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下有数据包出现,则说明你的nat没有问题。请确认在redhat上是否有正确设置网关。
3、在外网对redhat nat后的外网ip地址进行ssh连接尝试,此时如果在redhat的tcpdump下没有数据包出现,则说明你的nat有问题,或者在路由器上是否存在访问控制策略,请检查。追问

没有抓到包,好像是nat的问题,nat问题我该如何解决呢?

包抓到了,网关我是设置的我路由器的IP,应该是这样设置吧

抓到包了,只有网关到机器的包,不是双向包

追答

你好,如果是NAT的问题,请参考路由器配置手册,确保将内网redhat的IP地址及端口正确映射为外部接口的地址,这种情况建议使用静态NAT配置(在dlink中为一对一规则,刚才看了下官网的手册)。另外请在redhat上配置网关,指向路由器内部接口。
应该就没什么问题了

追问

加了一对一规则了,也不管用,有Q吗?再追加100给你

搞定了,我网关绑了mac,这机器两网卡,放行的网卡的mac和不放行的搞反了

真是折腾死我了,谢谢你了

参考技术A 外网是连接不上内网的,它没有内网的路由,路由只能到内网出口的IP地址。追问

我通过路由端口映射过来了,这个应该是没有问题才是啊

追答

能Ping过来么?还有,路由器有没有设置防火墙?

追问

路由器是没有防火墙的,ping 没有问题

参考技术B 换个ssh端口试试追问

ssh端口咋换?

追答

/etc/sshd_config

追问

换端口没用

以上是关于Linux如何做文件服务器,为局域网中的Win机器提供文件服务的主要内容,如果未能解决你的问题,请参考以下文章

linux操作系统(红帽8)如何设置局域网IP,使域内所有其它机器能访问它?

win7如何在局域网中发布网站

求一个linux c程序,来查看局域网的主机名和mac地址?

如何在局域网内创建windows 域

win7访问xp局域网电脑需要密码,输入XP机器的用户名和密码了,显示错误。

redhat linux在局域网内别的机器可以正常通过ssh连接上,使用外网IP后无法连接