CentOS 5  - 家庭网关防火墙与DHCP服务器的连接共享

CentOS 5 - 带有DHCP服务器的家庭网关防火墙,用于连接共享

版本1.0
作者:Cameron Camp <howto [at] logicalwebhost [dot] com>
最后编辑:2008年1月16日

如果您要设置家庭网络,您可能需要设置一个面向连接到DSL / Cable调制解调器的计算机的计数器,然后将所有计算机放在该防火墙后面,以保证其安全。 本教程将向您介绍如何在网关计算机上使用单个外部连接(使用Iptables防火墙),并在同一个盒子上使用第二个内部连接,以便您可以将家庭/办公室内部的计算机连接到它,并自动给它们IP(当使用DHCP服务器)时挂起它们。 Iptables可能非常复杂,我们只会配置一个基本的防火墙,你可以稍后添加更多的安全性,而不会破坏事情。 在Linux中有很多方法可以做到这一点,这个希望足够简单,并且会教你们基础知识。 我在CentOS 5盒子上做到了这一点,尽管它只能在Debian变体上进行一些修改。 在本教程中,我以root身份登录,您通常不应该这样做,但它使教程更简单,但如果您更愿意安全地执行此操作,请在每个命令之前添加“sudo”,并且它将工作。

gateway_diagram2

办公室内部的电脑也可以互相通话,所以您可以通过交换机连接打印机,电脑和共享网络连接。 您也可以稍后在网关服务器框上设置东西,就像使用Samba的所有计算机的网络备份驱动器相对简单。 这个设置有很多可扩展性,但现在我们会保持简单。

在Gateway服务器上首先要做的是配置和启用Iptables,这是CentOS附带的默认防火墙。 我们会告诉它允许从eth1接口到互联网的出站流量。 您必须添加一个Iptables条目,保存并重新启动Iptables。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
service iptables save
service iptables restart

现在我们要告诉内核开始允许转发,这样规则就可以运行了:

echo 1 > /proc/sys/net/ipv4/ip_forward

这将只有在您重新启动后才能工作,所以让我们永久使用您选择的编辑器,将以下行添加到/ etc / sysconfig / network中:

FORWARD_IPV4=YES

现在我们必须设置一个DHCP服务器来将IP发送到LAN内部的计算机上。 我们通过如下安装DHCP服务器来做到这一点:

yum install dhcp

默认情况下,将创建一个示例的DHCP文件,我们将编辑,然后替换真实的:

cd /usr/share/doc/dhcp-whateverversionyouhave/
vi dhcpd.conf.sample

您可以剪切/粘贴我正在使用的,或只是编辑您的,以满足您的需要。 一个谨慎的话, 你的网络可能与我的不同 。 该文件将给您的内部计算机一系列IP从192.168.0.128到192.168.0.254,子网掩码为255.255.255.0,根据您的需要进行更改。 如果您在此处使用自己的值,那么还需要使eth1静态IP上的IP信息匹配。

ddns-update-style none; # keep it simple for now
ignore client-updates;  # here too
DHCPARGS=eth1;          # tells it what interface to listen on
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
       option routers                  192.168.0.1;   # gateway on your eth1 internal interface
       option subnet-mask              255.255.255.0; # subnet mask
       option domain-name              "example.com" # domain name given to client
       option domain-name-servers      209.242.10.10; # the IP of your ISP's nameservers you're using
       option time-offset              -18000;        # Eastern Standard Time - set to what you have
       range 192.168.0.128 192.168.0.254;             # the range of IP's your clients will get
       default-lease-time 21600;                      # how long the client's will keep the same IP
       max-lease-time 43200;
       # we want the nameserver to appear at a fixed address
       host ns {
               next-server ns1.ispserver.net;         # change to your ISP's nameservers
               hardware ethernet 00:09:5B:8E:05:67;   # hardware MAC
               fixed-address 209.242.10.10;           # your ISP's nameserver IP
      }
}

现在备份您当前的dhcp配置文件,并复制刚刚制作的配置文件:

mv /etc/dhcpd.conf /etc/dhcpd.conf.old
cp dhcpd.conf.sample /etc/dhcpd.conf

现在我们重新启动DHCP服务器(在检查配置错误后,如果有错误,您会发现它们列在/ var / log / messages中),以便更改将生效

service dhcpd configtest
service dhcpd restart

现在我们必须配置eth1(内部)接口来匹配我们刚刚在DHCP服务器上做的接口,所以编辑文件/ etc / sysconfig / network-scripts / ifcfg-eth1,看起来像这样:

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=10.1.10.43

你必须至少编辑GATEWAY IP,这只是我的eth0接口的IP,改变它是你的eth0 IP,你可以通过运行:

ifconfig

它应该说:eth0 inet addr:10.1.10.43,这是你想要的。

接下来,您必须告诉您的计算机来监听告诉DHCP请求来到达内部网络。 当客户端计算机正在寻找DHCP地址时,它会向任何将监听到的IP地址为255.255.255.255的用户发送一个爆炸声,所以您必须告诉您的DHCP服务器监听该IP:

route add -host 255.255.255.255 dev eth1

所以现在我们测试设置。 你应该能够去一台客户端计算机,把它连接到你的网关连接的交换机(在我的例子中是一个便宜的家庭Netgear $ 30 8端口交换机型号FS608),它应该使用你的新DHCP找到一个IP服务器,您应该能够浏览互联网。

您还应该设置防火墙以阻止比本教程中所做的更多的事情,以保持内部计算机的安全,您可以使用通过运行以下方式构建的配置工具来实现:

setup

告诉防火墙要阻止什么。 一个经验法则是阻止一切,然后只允许你需要的东西,但是如果你选择,你可以在令人望而生畏的深处阅读。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏