Duangw

home-gate

操作系统版本:CentOS 5.3

 

1 硬件

配置3块网卡,分别映射到/dev/vmnet1、/dev/vmnet3、/dev/vmnet2。

 

2 初始安装

语言选择english。

最小安装,只选择“Base System/Base”。

配置网络。

 

3 配置yum软件源

这里使用本地服务器上的镜像。

首先备份原来的配置文件:

# cd /etc/yum.repos.d/
# cp CentOS-Base.repo CentOS-Base.repo-bak

编辑CentOS-Base.repo,首先取消每个section的mirrorlist。

为每个section添加本地镜像,以[base]为例:

baseurl=ftp://10.10.10.199/pub/centos/$releasever/os/$basearch/

相应的修改其他section:[updates]、[addons]、[extras]、[centosplus]、[contrib]。

 

4 更新系统

# yum check-update
# yum [-y] update

 

5 关闭不需要的网络服务

# /etc/init.d/cups stop
# chkconfig cups off
# /etc/init.d/avahi-daemon stop
# chkconfig avahi-daemon off
# /etc/init.d/portmap stop
# chkconfig portmap off
# /etc/init.d/nfslock stop
# chkconfig nfslock off
# /etc/init.d/sendmail stop
# chkconfig sendmail off
# /etc/init.d/yum-updatesd stop
# chkconfig yum-updatesd off

 

6 配置iptables防火墙

这里不使用安装的缺省配置,而是使用Iptables脚本中提供的模板rc.iptables-gate-novpn.ref,并将其融入到当前的框架中。

首先备份原来的配置:

# cd /etc/sysconfig
# cp iptables iptables.bak
# cp iptables-config iptables-config.bak

停止iptables服务:

# /etc/init.d/iptables stop

编辑rc.iptables-gate-novpn.ref,去掉相关注释,使得:

其中DNAT只重定向http(s)和ftp:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport http -j DNAT --to 10.10.20.20
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport https -j DNAT --to 10.10.20.20
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport ftp -j DNAT --to 10.10.20.20

完毕运行:

# sh rc.iptables-gate-novpn.ref start

保存配置,覆盖/etc/sysconfig/iptables:

# /etc/init.d/iptables save

编辑/etc/sysconfig/iptables-config,添加需要装入的模块:

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"

恢复iptables的运行:

# sh rc.iptables-gate-novpn.ref stop
# /etc/init.d/iptables start

 

7 配置ip6tables防火墙

这里同样使用Iptables脚本中提供的模板rc.ip6tables.ref。

首先备份:

# cd /etc/sysconfig
# cp ip6tables ip6tables.bak

停止ip6tables服务:

# /etc/init.d/ip6tables stop

编辑rc.ip6tables.ref,按需要进行修改。完毕运行:

# sh rc.ip6tables.ref start

保存配置,覆盖/etc/sysconfig/ip6tables:

# /etc/init.d/ip6tables save

恢复ip6tables的运行:

# sh rc.ip6tables.ref stop
# /etc/init.d/ip6tables start

 

8 配置内核参数

编辑/etc/sysctl.conf,打开转发:

net.ipv4.ip_forward = 1

 

9 配置bind域名服务

这里网关只作为一个forward服务器,本身不负责域名解析。

9.1 安装软件包(chroot版本)

# yum install bind-chroot
# yum install caching-nameserver

9.2 配置

# cd /var/named/chroot/etc
# cp named.caching-nameserver.conf named.conf
# chgrp named named.conf

编辑named.conf,注释(取消)options的:

// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
// allow-query     { localhost; };

在options中添加:

        forward only;
        forwarders {
                172.18.0.30;
        };

注释view localhost_resolver中的:

// match-clients           { localhost; };
// match-destinations { localhost; };

启用bind服务:

# chkconfig named on

9.3 防火墙修改

编辑rc.iptables-gate-novpn.ref,允许内网用户DNS查询:

# enalbe dns query in eth0
iptables -A in-IN -p udp --dport domain -m state --state NEW -j ACCEPT

更新设置:

# /etc/init.d/iptables stop
# sh rc.iptables-gate-novpn.ref start
# /etc/init.d/iptables save
# sh rc.iptables-gate-novpn.ref stop
# /etc/init.d/iptables start