|
|
局域网或者说网关服务器的概念我到现在没全明白,但是如果是只有一个外网端口,其他电脑要共享上网的话,按照以下的操作,应该是没啥问题的,这几年我就是这样做的。
错误之处,敬请指出更正。
debian:etch
网络结构:服务器有两张网卡,一个接外网(固定ip地址),一个接交换机,所有其他机器只有一张网卡,都接在交换机上(24口100M华为的交换机)。
首先是服务器的系统安装,很简单,随便你用啥光盘(网络安装盘还是第一张全光盘)启动安装,既然是服务器,没啥要求,在选择安装包时,只选了standard system,其他一概不装(你要安装桌面也无妨,记得别装gdm,否则随便哪个登录gnome后退出关机就把服务器关了,还是用startx好)。
注意一点,安装时配置网卡时请先配置外网网卡,否则不能上网更新、安装软件包,内网网卡等系统装好后再配置也不迟。
内网采用192.168.a.b网段,a数字不建议是0或者1,1-254数字这么多,没必要去扎堆,以免ip地址冲突之类莫名其妙不能上网的事发生。
内网采用也是固定ip地址,当然能做个dhcp server、dns server更好,我没去折腾了。
一切准备好后,
然后就是安装shorewall
一、apt-get install shorewall
二、安装后shorewall不会启动,因为要配置好后才会启动,现在实战是配置shorewall,注意我的外网是eth2,内网是eth1,你根据自己的情况修改。
注意所有的配置文件前面有很长的说明,就不列出了,如果配置项多,其他的都是采用默认的
1、shorewall 的版本(注意3.0以前的版本配置文件差别有些,升级的话请仔细看文档说明)
# shorewall version
3.2.6
2、启动:
系统boot时,默认是不启动的,因此需要编译/etc/default/shorewall
startup=1(设为1即随系统启动)
3、编辑/etc/shorewall/shorewall.conf
............
IPSECFILE=zones
............
IP_FORWARDING=on
............
DISABLE_IPV6=no
............
4、禁止shorewall log信息控制台滚屏显示,这个很重要,否则你打开显示器就是一大片的信息,登录都看不清,作如下设置:
(1) 添上 KLOGD="-c 5" 在 /etc/init.d/klogd
(2) 添上 dmesg -n5 在 /etc/shorewall/start
5、复制/usr/share/doc/shorewall/default-config文件夹中的start、interfaces、policy、rules、zones、masq到/etc/shorewall文件夹中,根据网络状况及READ.Debian的说明一一修改。
(1)/etc/shorewall/start
###############################################################################
dmesg -n5
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
(2)/etc/shorewall/zones
###############################################################################
#ZONE TYPE OPTIONS IN OUT
# OPTIONS OPTIONS
fw firewall
net ipv4
loc ipv4
#LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE
(3)/etc/shorewall/interfaces
###############################################################################
#ZONE INTERFACE BROADCAST OPTIONS
net eth2 detect
loc eth1 detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
(4)/etc/shorewall/policy
###############################################################################
#SOURCE DEST POLICY LOG LIMIT:BURST
# LEVEL
$FW all ACCEPT
loc all ACCEPT
# THE FOLLOWING POLICY MUST BE LAST
#
all all REJECT info
#LAST LINE -- DO NOT REMOVE
(5)/etc/shorewall/rules
################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# PORT(S) PORT(S) DEST
#SECTION ESTABLISHED
#SECTION RELATED
ACCEPT net $FW tcp http
ACCEPT net $FW tcp ssh
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
(6)/etc/shorewall/masq
###############################################################################
#INTERFACE SUBNET ADDRESS PROTO PORT(S) IPSEC
eth2 eth1
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
三、以上设置好了后,就执行
#/etc/init.d/shorewall start
如果出错,请仔细看出错信息,然后看说明文档,修改你的配置
四、如果没问题,请重启服务器
五、其他机器的设置就不多说了,只要把网关gateway设置为服务器的内网ip地址即可,切记服务器的内网网卡配置就不要设置网关了。 |
|