Linux防火墙下的简单路由配置与端口映射

实验室的windows03服务器总是被端口扫描,又装不了其他的杀毒软件,6年前证明瑞星靠不住,6年后还是靠不住。在实验室找了台没用的机子,做一个简单的防火墙。具体步骤如下:
  1. 一台能跑得动你将要安装的LInux的机器
  2. Linux系统安装盘,发行版随意,内核2.6
  3. 该机器需要有两块网卡
    系统安装完成后,分别给两块网卡设置IP地址,一个为内网IP,一个为外网IP。这里假设eht0为外网地址:201.114.0.156 , eth1为内网地址:192.168.0.1 。
    首先检查IP转发是否开启:

[root@RHEL ~]# cat /proc/sys/net/ipv4/ip_forward
0


    如果输出为0,那么可以通过将ip_forward至1来临时的实现IP转发,命令如下:

[root@RHEL ~]# echo 1 >> /proc/sys/net/ipv4/ip_forward 

[root@RHEL ~]# cat /proc/sys/net/ipv4/ip_forward 

1


    也可以通过修改系统配置文件来永久启用IP转发。打开/etc/sysctl.conf , 将"net.ipv4.ip_forward“的值由 “0” 修改成“1”:

# Controls IP packet forwarding

#net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1


    保存后退出,重启网络服务:

[root@RHEL ~]# /etc/init.d/network restart

    
    接下来通过iptables命令来设置防火墙的转发规则。这里给出一个示例:

# 清空现有规则

iptables -F

# 对于外网(WAN)到内网(LAN)的封包,至允许那些回应包
iptables -A FORWARD -i eth0 -o eht1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# 对于所有内网(LAN)到外网(WAN)的封包都予以放行
iptables -A FORWARD -i eht0 -o eth1 -j ACCEPT

#启用转发日志
iptables -A FORWARD -j LOG

# 启用IP伪装,使得内网中所有转发出去的封包都是Linux服务器一台机子发出的
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# 启用地址转换(NAT)将内网的Web服务映射到外网的特定端口上
iptables -A PREROUTING -t nat -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.2:8080

    
   如果想要每次系统启动后自动启用相关的规则,可以直接将命令添加到“/etc/rc.local”中。重启iptables , 然后运行“rc.local”脚本。

[root@RHEL ~]# /etc/init.d/iptables restart
[root@RHEL ~]# sh /etc/rc.local

    iptables还包含了更丰富的转发过滤规则,这里只是涉及到很简单隔离内外网的功能。更强大的功能可以参考iptables的命令手册。
    内网的机器可以使用内部地址,然后将网关设为Linux服务器的内网地址,DNS设定为外网的DNS。如果条件允许,可以在Linux服务器上面部署一个DNS缓冲服务,这样内网机器可以直接将Linux服务器设置为DNS。
    这里需要注意的是,Linux服务器上链接内网的网卡只需要设置IP地址和子网掩码,不要设定默认网关。只需要将链接外网的网卡设置好网关,避免内网的包转发到无法到达的网关地址,而没有跳转到外网接口。
转载:http://blog.chinaunix.net/uid-8326220-id-364071.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值