一种利用两级samba实现跨网段samba访问的方案

 

使用‘两级’samb实现文件访问。

Pc-----------samba----------->218.205.81.12----------samba---------->10.3.1.193(src,编译环境)

 

1.在编译主机(10.3.1.193)上安装samba

以root角色登入编译主机

ssh root@10.3.1.193 

1)安装samb

service iptables stop // 关闭防火墙:
setenforce 0 //关闭SELINUX的强制模式
yum install samba samba-client samba-swat //安装samb
cd /etc/samba

 

2)配置共享路径

Cp smb.conf smb.conf.bak //备份
Vi /etc/samba/smb.conf

用shift+g定位到最后一行:

 

# A publicly accessible directory, but read only, except for people in
# the "staff" group
        [public]
        comment = Public Stuff
        path = /home/samba
        writable = yes
        printable = no
        write list = +staff

修改如下

# A publicly accessible directory, but read only, except for people in
# the "staff" group
        [public]
        comment = Public Stuff
        path = /home/rcsm
        available = yes
        browseable = yes
        public = yes
        writable = yes
        printable = no
        write list = +staff

注意/home/rcsm就是要共享给跳板机的目录

:wq //保存退出

 

3)添加samb用户名和密码

smbpasswd -a root //添加用户名,必须是Linux的用户名之一
root            //密码,不能和linux登陆密码相同

 

4)重启samb

/etc/init.d/smb restart //重启samb
/etc/init.d/nmb restart //重启nmb

 

Chmod 777 /home/rcsm

好了10.3.1.193上的samba安装好了

 

2.在跳板机上(218.205.81.12)上安装samba

过程同上

唯一不同的是Vi /etc/samba/smb.conf中,path设置了不同的值(这个由你定)

# A publicly accessible directory, but read only, except for people in
# the "staff" group
        [public]
        comment = Public Stuff
        path = /mnt/smbclnt
        available = yes
        browseable = yes
        public = yes
        writable = yes
        printable = no
        write list = +staff

到此两台机子上的samba都装好并启动了

chmod 777 /mnt/smbclnt

 

3.测试samba

PC端访问跳板机上的/mnt/smbclnt:

在屏幕左下角运行框中输入:

\\218.205.81.12

回车后要求输入用户名和密码,还记得我们为samba添加的吗?

对用户名和密码都是root

回车后我们可以看到public目录,点开,就是/mnt/smbclnt中的内容

 

跳板机访问编译主机上的/home/rcsm:

 查看共享目录名:

,root 是我们为samba设置的用户和密码

 

Sharename       Type      Comment
        ---------       ----      -------
        public          Disk      Public Stuff
        IPC$            IPC       IPC Service (Samba Server Version 3.6.23-20.el6)
        root            Disk      Home Directories

 

public就是10.3.1.193share出来的共享目录,即/home/rcsm

至此,两个samba都ok。

 

4.连接两个samba

现在pc还可访问跳板机的共享目录,还不能直接访问编译主机。连接两个samba,让pc直接访问编译主机!

      Samba               samba

Pc----------------------->跳板机------------------------->编译主机

用mount连接两个samba

在跳板机上:

mount -t cifs //10.3.1.193/public /mnt/smbclnt/ -o username=root%root

查看mount结果:

df
//10.3.1.193/public    56214868   6665020  46687616  13% /mnt/smbclnt

为了使重启自动mount,配置fstab文件

Vi /etc/fstab

在末尾添加:

//10.3.1.193/public   /mnt/smbclnt          cifs    defaults,username=root%root   0  0

:wq //保存退出

即以一个samba的client作为另一个samba的server。

                                

Pc----------------------->跳板机------------------------->编译主机

Samba client     Samba server/client       samba server

 

此时一切就绪,在pc端命令框中输入

\\218.205.81.12

即可访问编译主机上的/home/rcsm

注意用户名密码都是root

 

5.映射网络驱动器,实现代码修改、编译、上传大统一

进入我的电脑,点击映射网络驱动器将本地Z:盘映射成

\\218.205.81.12\public

从此你可以从Z:盘直接访问10.3.1.193/home/rcsm了

把Z:作为sourcetree的本地目录,就可以将代码下到10.3.1.193,实现本地修改本地编译本地上传!

 

如果一切设置ok,window上也可以看到linux的共享目录,但就是无法访问,

试一试关闭防火墙iptables -F