|
我想用linux作服务器,然后其他的电脑通过linux上互联网.我的linux服务器内至2块不同类型的网卡(realtek ,dlink),其他2台电脑同这两块网卡连到linux服务器上。服务器本身是通过cable modem上网,而cable modem是通过usb连接在服务器上的,所以,当服务器启动的时候,默认eth0是一个realtek,于是我就修改成为我的cable modem,这次服务器本身可以上网,但是仍旧在打开“网络”的时候会出现错误提示:eth0有另外的别名,没有指向目标cablemodem。不管了,反正服务器已经可以上网了。于是想在“网络”里的cable modem那一项上设置路由,让其他连接通过这个路由来共享互联网。例如:要连接realtek的网卡,目标网络我设置成:192.168.0.2,子网掩码:255.255.255.0,网关我设置成:192.168.0.1,但是重启之后,不仅其他电脑上不了网,服务器本身也不能上网了,所以我猜想可能是路由器的设置错了,于是我删掉了所有的路由之后,请教了一些网友,又一位网友是这样修改的:
“装两块网卡,联外网的网卡地址为电信分配的地址,联内网的网卡地址为192.168.0.1,
然后#route add default gw x.x.x.x(电信指定网关)
建立一脚本zz.ini如下:
#!/bin/sh
case $1 in
start)
echo "1">/proc/sys/net/ipv4/ip_forward
/sbin/ipchains -F
/sbin/ipchains -A forward -p all -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQ
/sbin/ipchains -A input -p tcp -s ! 192.168.0.0/24 -d x.x.x.x/24 21 -j DENY
/sbin/ipchains -A input -p tcp -s ! 192.168.0.0/24 -d x.x.x.x/24 23 -j DENY
/sbin/ipchains -A input -p tcp -s ! 192.168.0.0/24 -d x.x.x.x/24 79 -j DENY
echo "Firewall is starting ....[ OK ]"
;;
stop)
echo "0">/proc/sys/net/ipv4/ip_forward
/sbin/ipchains -F
echo "Firewall is stop .... [ OK ]"
;;
esac
此脚本中的x.x.x.x代表服务器的外网网卡的地址.
赋予此脚本文件可执行
#chmod 755 zz.ini
然后执行
#./zz.ini start
再将内网的机器的地址设为192.168.0.2~192.168.0.254中的一个,网关设为192.168.0.1, DNS设为192.168.0.1,也可再加上ISP的DNS地址.
至此,可以了.”
于是我按部就班,按照这个方法修改了,但是最后运行脚本的时候,出现错误:没有/sbin/ipchain这个目录,所以到此为止,心灰意冷,没有主意了,所以再次请教大家,该如何设置这样的情况。谢谢! |
|