实验室的windows03服务器总是被端口扫描,又装不了其他的杀毒软件,6年前证明瑞星靠不住,6年后还是靠不住。在实验室找了台没用的机子,做一个简单的防火墙。具体步骤如下:
- 一台能跑得动你将要安装的LInux的机器
- Linux系统安装盘,发行版随意,内核2.6
- 该机器需要有两块网卡
系统安装完成后,分别给两块网卡设置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
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
所有评论(0)