在linux下组建局域网
(2011-11-20 11:50:04)
标签:
杂谈 |
分类: BIOINFO |
为了组建linux下的局域网,在网上查找了很多资料,终于成功了。于是记下所有步骤,算是备份。
强烈建议在对任何配置文件进行更改前,备份配置文件。
1)网络条件:因为是在学校通过客户端上网,手上只有一个网号。因此在局域网中只有一台机子用来连接外网。其他的机子可以通过这台机子连接外网,内网之间可以实现互访。
2)系统:测试使用三台电脑,每台电脑上装的系统为fedora15
3) 具体配置:
开启ssh服务
大多数情况下,linux的ssh服务是没有开启的,需要先安装。
判断系统是否开启ssh服务,使用命令:ps -le | grep ssh
如果返回结果包含sshd,那么说明系统开启了ssh服务。
如果没有的话一般需要安装openssh-server包。命令为:yum install openssh-server (root 权限)。
安装完成后,可以测试ssh服务是否成功开启,方法为:
ifconfig,获得系统ip地址; ssh ip;如果提示输入登录密码,说明ssh服务成功安装并开启。
同上操作,在三台电脑上确认安装并开启ssh服务。
网络配置
主机:就是用于连接外网的电脑。主机网卡eth0配置可以使用自动获取。同时为了使主机能够连接内网,需要建立一个虚拟网卡。方法为:在/etc/sysconfig/network-scripts目录下复制文件:ifcfg-eth0
命令为:cp ifcfg-eth0 ifcfg-eth0:0
ifcfg-eth0:0就是创建的虚拟网卡。打开ifcfg-eth0:0文件,将内容改成如下:
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
IPADDR0=192.168.1.12
TYPE=Ethernet
PREFIX0=24
GATEWAY0=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:0"
其中IPADDR0 配置的就是主机在内网中的IP地址。
保存文件,并使用命令重启网络服务: service httpd restart
重启后可以在网络连接的图标里面看见两个网络:eth0,eth0:0
至此主机虚拟网卡配置成功。
配置其他机子网络
基本上只需要在网络设置里面改成手动设置:分别设置IP为:
192.168.1.10;192.168.1.11。子网掩码均为:255.255.255.0. (192.168 表示内部IP)
网关不用设置。
网络配置完毕。
此时在主机上如果切换成虚拟网卡(也就是IP 地址设置为192.168.1.12的那块),理论上就可以连接内网的其他两台电脑了。命令为:ping 192.168.1.11 。如果成功,说明局域网通了。
但是这样在实际运用中极不方便,因为当切换成虚拟网卡时,主机是不能够连接外网的(不在同一个网段)。我们需要的是主机既能够连接外网,同时又能够连接内网。这是就需要进行IP映射。方法如下:
输入下面命令(千万注意不能数错)
scp ./.ssh/id_dsa.pub username@192.168.1.11:/home/usename/(局域网中的一台电脑)
ssh usename@192.168.1.11
输入登录密码
在终端中使用命令:
cat ./id_dsa.pub >>./.ssh/authorized_keys
强烈建议在对任何配置文件进行更改前,备份配置文件。
1)网络条件:因为是在学校通过客户端上网,手上只有一个网号。因此在局域网中只有一台机子用来连接外网。其他的机子可以通过这台机子连接外网,内网之间可以实现互访。
2)系统:测试使用三台电脑,每台电脑上装的系统为fedora15
3)
开启ssh服务
大多数情况下,linux的ssh服务是没有开启的,需要先安装。
判断系统是否开启ssh服务,使用命令:ps -le | grep ssh
如果返回结果包含sshd,那么说明系统开启了ssh服务。
如果没有的话一般需要安装openssh-server包。命令为:yum install openssh-server (root 权限)。
安装完成后,可以测试ssh服务是否成功开启,方法为:
ifconfig,获得系统ip地址; ssh ip;如果提示输入登录密码,说明ssh服务成功安装并开启。
同上操作,在三台电脑上确认安装并开启ssh服务。
网络配置
主机:就是用于连接外网的电脑。主机网卡eth0配置可以使用自动获取。同时为了使主机能够连接内网,需要建立一个虚拟网卡。方法为:在/etc/sysconfig/network-scripts目录下复制文件:ifcfg-eth0
命令为:cp ifcfg-eth0 ifcfg-eth0:0
ifcfg-eth0:0就是创建的虚拟网卡。打开ifcfg-eth0:0文件,将内容改成如下:
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
IPADDR0=192.168.1.12
TYPE=Ethernet
PREFIX0=24
GATEWAY0=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:0"
其中IPADDR0 配置的就是主机在内网中的IP地址。
保存文件,并使用命令重启网络服务: service httpd restart
重启后可以在网络连接的图标里面看见两个网络:eth0,eth0:0
至此主机虚拟网卡配置成功。
配置其他机子网络
基本上只需要在网络设置里面改成手动设置:分别设置IP为:
192.168.1.10;192.168.1.11。子网掩码均为:255.255.255.0. (192.168 表示内部IP)
网关不用设置。
网络配置完毕。
此时在主机上如果切换成虚拟网卡(也就是IP 地址设置为192.168.1.12的那块),理论上就可以连接内网的其他两台电脑了。命令为:ping 192.168.1.11 。如果成功,说明局域网通了。
但是这样在实际运用中极不方便,因为当切换成虚拟网卡时,主机是不能够连接外网的(不在同一个网段)。我们需要的是主机既能够连接外网,同时又能够连接内网。这是就需要进行IP映射。方法如下:
输入下面命令(千万注意不能数错)
iptables -t nat -A POSTROUTING -s 192.168.1.12 -j SNAT --to
主机IP
iptables -t nat -A PREROUTING -d 主机IP -j DANT --to 192.168.1.12
此时就能够实现我们的需要的,主机同时可以连接外网和内网。
其他设置
使用ssh命令登录时,每次都需要输入密码。这在局域网上使用不是特别方便。去掉登录密码的方法为:
在主机上运行命令:
ssh-keygen
一直回车即可
此时使用ls命令:
ls ./.ssh
可以看到 id_dsa,id_dsa.pub两个文件。id_dsa.pub就是需要的公钥文件。把这个文件复制到另外两台电脑上。使用以下命令:scp ./.ssh/id_dsa.pub username@192.168.1.11:/home/usename/(局域网中的一台电脑)
ssh usename@192.168.1.11
输入登录密码
在终端中使用命令:
cat ./id_dsa.pub >>./.ssh/authorized_keys
chmod 600 ./.ssh/authorized_keys
exit退出登录
此时重新从主机上登录192.168.1.11就不需要输入密码了。
其他设置2
登录时直接使用机器名而不是一长串IP地址。也就是
ssh usename@192.168.1.11
ssh usename
两条命令的效果一致。
要达到这个效果首先需要设置各个节点上的用户名统一,比如均为user
然后进行IP映射。方法为修改hosts配置文件
vi /etc/hosts/
在文件末尾添加行:
192.168.1.11 user
保存退出。
设置完毕后在主机上登录192.168.1.11时就可以直接使用命令
ssh user。
其他节点上的设置同上。不再详述。
exit退出登录
此时重新从主机上登录192.168.1.11就不需要输入密码了。
其他设置2
登录时直接使用机器名而不是一长串IP地址。也就是
ssh usename@192.168.1.11
ssh usename
两条命令的效果一致。
要达到这个效果首先需要设置各个节点上的用户名统一,比如均为user
然后进行IP映射。方法为修改hosts配置文件
vi /etc/hosts/
在文件末尾添加行:
192.168.1.11 user
保存退出。
设置完毕后在主机上登录192.168.1.11时就可以直接使用命令
ssh user。
其他节点上的设置同上。不再详述。