在red hat 7.2上常用的ipchains由于默认的内核modules未安装,会在
使用时出现ipchains: protocol not available错误,不要以为7.2倒退了,其实它已经用更强大iptables来打造防火墙了。
环境:内网为192.168.2.0网段,外网ddn为10.19.78.0网段。外网网关为10.19.78.1
配置的网关服务器内网ip为192.168.2.170,外网ip为10.19.78.5,两个地址绑定在一
块网卡上,(双网卡当然更好了)。
改文件永久配置
(1.)修改 /etc/sysconfig/network
networking=yes
forward_ipv4=yes
hostname=server
gateway=10.19.78.1
gatewaydev=eth0
#网关为10.19.78.1
(2.)在/etc/sysconfig/network-scripts目录下创建文件ifcfg-eth1
device=eth1
userctl=no
onboot=yes
bootproto=
broadcast=10.19.78.7
network=10.19.78.0
netmask=255.255.255.248
ipaddr=10.19.78.5 #本机在上级网络的ip
(3.)用/ect/rc.d/init.d/inet restart 使ip配置生效
(4.)利用iptables的写如下脚本gw.sh:
#begin
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -f input
iptables -f forward
iptables -f postrouting -t nat
iptables -t nat -f
iptables -p forward drop
iptables -a forward -s 192.168.2.0/24 -j accept
iptables -a forward -i eth1 -m state –state established,related -j accept
iptables -t nat -a postrouting -o eth1 -s 192.168.2.0/24 -j snat –to 10.19.78.5
#end
将gw.sh改成可执行权限运行,其他机器以之为网关,即可上网! 也可加在
/ect/rc.d/rc.local最后达到开机自动运行的目的。
这是利用iptables实现最简单的功能,要构造强大的防火墙,就看大家自己的了。
作者:ken