有好几台电脑,希望可以将其中一台电脑作为服务器,为其他电脑提供路由,共享等服务,为了稳定和安全,选择linux作为服务器系统,Ubuntu是非常易用的一个Linux的发行版,我就采用它来做。
硬件
首先当然是要有一台可以安装Ubuntu7.04的电脑(一般不是忒新的电脑都可以安装),并且有两个网卡,作为两个网段的网关。
安装配置
直接安装Ubuntu7.04,安装很顺利,很快安装完了。然后配置网络,将网卡eth0配置为192.168.1.234,因为原来的网段就是192.168.1.0/24,另一块网卡eth1配置为网段192.168.2.0/24的网关192.168.2.1,这样所有其他电脑都是局域网192.168.2.0/24内的客户机了。
用route -n命令可以看到路由表的信息:
内核 IP 路由表
目标 网关 子网掩码 标志 跃点 引用 使用 接口
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
一个是192.168.1.0/24的网关,一个是192.168.2.0/24的网关,还有一个是回路,最后一个是默认路由。
然后是IP转发,很多资料说使用下面的命令打开I转发:
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
但不知道为什么在Ubuntu下总是说没有操作的权限,只好另寻他路:
修改/etc/sysctl.conf,在文件的末尾加上:
net.ipv4.ip_forward=1
顺便也加上了:
net.ipv4.tcp_syncookies=1
net.ipv4.icmp_echo_ignore_broadcasts=1
这个配置会在系统启动的时候设置系统参数,这样IP转发就完成了。
安装防火墙管理工具FireStarter,但是启动时发生以下错误:
the device eth0 is not ready
提示启动失败。使用以下命令即可:
udo sed -i~ "s/\/sbin\/ifconfig/env LANG=en_US \/sbin\/ifconfig/g" /etc/firestarter/firestarter.sh