用Linux实现NAT代替防火墙

2012-08-15 00:48陶然白睿
中国教育网络 2012年4期
关键词:日志防火墙程序

文/陶然 白睿

随着校园网多出口的出现,NAT是必不可少的设备,本文介绍如何将Linux配置成NAT:

本文在CentOS 5上进行配置,主要有以下几个步骤:

1. 打开Linux的IPv4转发,修改/etc/sysctl.conf文件,将

net.ipv4.ip_forward = 0

改成

net.ipv4.ip_forward = 1

2. 修改/etc/sysconfig/iptables文件,内容如下:

*nat

:PREROUTING ACCEPT [0:0]

:INPUT ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A POSTROUTING -o eth1 -m state --state NEW -j SAME --to 1.1.1.1-1.1.1.10

--nodst

COMMIT

-o eth1表示从eth1出去新建的连接进行转换,地址从1.1.1.1-1.1.1.10中根据哈希算法进行选择。

-j SAME 表示对去往同一个目的地址转换成同一个IP地址。

--nodst 在选择原地址时,目的地址不参与散列运算。这样设置后,每个用户访问所有网站都转换成同一个地址。

3. 修改/etc/modprobe.conf增加:

options ip_conntrack hashsize=100000

这样修改后,系统最大连接数就变成80万。

4. 为NAT增加日志功能

安装conntrack-tools工具,conntrack-tools是Linux下不同主机之间同步conntrack表的一个用户空间运行的程序,可以实现有状态防火墙之间的状态同步,实现防火墙的HA。通过conntrack-tools及syslog可以实现NAT的log功能。

(1)安装conntrack-tools工具

/etc/yum.repo.d目录增加CentALT.repo,内容如下:

[CentALT]

name=CentALT Packages for Enterprise Linux 5 - $basearch

baseurl=http://centos.alt.ru/repository/centos/5/$basearch/

enabled=1

gpgcheck=0

运行如下命令:

yum install conntrack-tools

(2)新增/usr/local/bin/conn-to-syslog,其内容为:

#!/usr/bin/perl -w

# Usage: conntrack -E -p tcp --state ESTABLISHED -j | conn-to-syslog

#by wzk@neu 2011

use Sys::Syslog;

$log_ident="NAT";

$log_opt="pid,cons";

$log_facility="local3";

openlog$log_ident,$log_opt,$log_facility;

while () {

syslog ('notice', "%s", $_);

#syslog ('err', "Test Error Log Entry: %s", $_);

#syslog ('debug', "Test Debug Log Entry: %s", $_);

}

closelog();

为程序增加执行权限:

chmod +x /usr/local/bin/conn-to-syslog

(3)修改/etc/syslog.conf文件,增加红色部分内容

*.info;mail.none;authpriv.none;cron.none;local3.none /var/log/messages

local3.* -/var/log/nat.log

注意配置文件中的facility与conn-to-syslog一致,这里使用的是local3,完毕后重启syslogd服务。

5. 启动conntrack程序,可以写到rc.local中:

/usr/sbin/conntrack -b 1048576 -E -p tcp --state ESTABLISHED -j | /usr/local/bin/conn-to-syslog &

本例将状态为ESTABLISHED的TCP连接记录到日志中,大家可以根据man conntrack来调整相应的参数,可以实现TCP、UDP都记录下来,记录与/proc/net/ip_conntrack内容格式一致。

经过以上配置后,重新启动机器即可实现NAT及日志功能。

猜你喜欢
日志防火墙程序
一名老党员的工作日志
扶贫日志
构建防控金融风险“防火墙”
试论我国未决羁押程序的立法完善
雅皮的心情日志
雅皮的心情日志
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
创卫暗访程序有待改进
在舌尖上筑牢抵御“僵尸肉”的防火墙