用centos实现路由器、dhcp、防火墙及nat功能

上传人:简****9 文档编号:99559059 上传时间:2019-09-19 格式:DOC 页数:13 大小:484.71KB
返回 下载 相关 举报
用centos实现路由器、dhcp、防火墙及nat功能_第1页
第1页 / 共13页
用centos实现路由器、dhcp、防火墙及nat功能_第2页
第2页 / 共13页
用centos实现路由器、dhcp、防火墙及nat功能_第3页
第3页 / 共13页
用centos实现路由器、dhcp、防火墙及nat功能_第4页
第4页 / 共13页
用centos实现路由器、dhcp、防火墙及nat功能_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《用centos实现路由器、dhcp、防火墙及nat功能》由会员分享,可在线阅读,更多相关《用centos实现路由器、dhcp、防火墙及nat功能(13页珍藏版)》请在金锄头文库上搜索。

1、将centOS变成路由服务器众所周知,linux最强大的功能就是网络功能,但是学习linux却不仅仅是为了搭建服务器,鉴于linux是一套非常稳定的操作系统,用linux搭建各种服务器是不二的选择。下面针对三种不同的上网环境,详细介绍一下在centOS 6.5上搭建一个路由服务器。实验一:Linux为静态IP实验环境示意图图1 实验一环境Step 1:配置linux网卡参数本实验环境使用的linux硬件环境有两块网卡,分别为eth0和eth1。默认情况下,将eth0设为WAN口,将eth1设为LAN口,本实验也是如此。配置eth0和eth1有两种方式:一是可以编辑配置文件,二是直接可以利用图形

2、界面对其进行配置。建议使用第一种,因为好多linux是没有X Window界面的。 WAN口(eth0)配置如下: MAC地址XX:XX:6F:1E:XX:XXIP地址 192.168.X.XXX 子网掩码 255.255.255.0 默认网关 192.168.0.254 DNS: X.X.X.X, 8.8.8.8LAN口(eth1)配置如下: IP地址 192.168.1.1 子网掩码 255.255.255.0下面以配置eth0为例。打开终端,获得root权限之后,输入命令 :vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0T

3、YPE=EthernetUUID=XXXONBOOT=yesNM_CONTROLLED=yes (NM_CONTROLLED是network manger的参数,实时生效,修改后无需要重启网卡立即生效) BOOTPROTO=noneHWADDR=xxx(网卡本身的硬件地址)MACADDR= XX:XX:6F:1E:XX:XXIPADDR=192.168.0.203PREFIX=24(此语句可用NETMASK=255.255.255.0替换)GATEWAY=192.168.0.254DNS1=X.X.X.XDNS2=8.8.8.8DEFROUTE=yesIPV4_FAILURE_FATAL=ye

4、sIPV6INIT=noNAME=”System eth0”配置eth1时只需要将其IP地址设为192.168.1.1或者非eth0网段地址,其他不用配置。输入命令:vim /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth0TYPE=EthernetUUID=XXXONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneIPADDR=192.168.1.1NETMASK=255.255.255.0Step 2:配置防火墙及NAT服务防火墙的功能不多说了,不太明白的自己百度一下吧,在这里简要说一下NAT(Networ

5、k Address Translation),即网络地址的转换,由于在本实验中eth0是public IP与eth1的private IP是不能互通的,NAT的功能就是使得这两者能相互通信。在防火墙及NAT设置的时候,我们采用shell scripts来实现。想要学习shell脚本,可以看看鸟哥的私房菜里面的 。首先建立一个文件夹,将脚本放置到/usr/local/virus/iptables文件目录下,也可以放置到自己习惯的位置。mkdir p /usr/local/virus/iptables (创建文件目录,-p允许你一次性创建多层目录)cd /usr/local/virus/iptab

6、lesvim iptables.rule (利用vim编辑脚本文件,有关vim的使用请自行百度,快捷键太多)以下就是脚本文件内容:#!/bin/bash# 输入相关参数EXTIF=eth0 # Public IP INIF=eth1 # 內部 LAN 的private IP,没有填 INNET=192.168.1.0/24 # 內部 LAN 的网段,没有填 export EXTIF INIF INNET# 第一部部分,针对本机的防火墙设定!# 1. 先设定好核心的网络功能:echo 1 /proc/sys/net/ipv4/tcp_syncookiesecho 1 /proc/sys/net/

7、ipv4/icmp_echo_ignore_broadcastsfor i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 $idonefor i in /proc/sys/net/ipv4/conf/*/log_martians; do echo 1 $idonefor i in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo 0 $idonefor i in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo 0 $idone

8、for i in /proc/sys/net/ipv4/conf/*/send_redirects; do echo 0 $idone# 2. 清除规则、设置默认路由及开放 lo与相关的设置值PATH=/sbin:/usr/sbin:/bin:/usr/bin; export PATHiptables -Fiptables -Xiptables -Ziptables -P INPUT DROPiptables -P OUTPUTACCEPTiptables -P FORWARD ACCEPTiptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -

9、m state -state RELATED -j ACCEPT# 3. 启动额外的防火墙 script 模块if -f /usr/local/virus/iptables/iptables.deny ; then sh /usr/local/virus/iptables/iptables.denyfiif -f /usr/local/virus/iptables/iptables.allow ; then sh /usr/local/virus/iptables/iptables.allowfiif -f /usr/local/virus/httpd-err/iptables.http ;

10、then sh /usr/local/virus/httpd-err/iptables.httpfiiptables -A INPUT -m state -state ESTABLISHED -j ACCEPT# 4. 允许某些类型的 ICMP 数据包进入AICMP=0 3 3/4 4 11 12 14 16 18for tyicmp in $AICMPdo iptables -A INPUT -i $EXTIF -p icmp -icmp-type $tyicmp -j ACCEPTdone# 5. 允许某些服务的进入,请依照自己的环境开启# iptables -A INPUT -p TCP

11、 -i $EXTIF -dport22-j ACCEPT # SSH# iptables -A INPUT -p TCP -i $EXTIF -dport25-j ACCEPT # SMTP# iptables -A INPUT -p UDP -i $EXTIF -sport53-j ACCEPT # DNS# iptables -A INPUT -p TCP -i $EXTIF -sport53-j ACCEPT # DNS# iptables -A INPUT -p TCP -i $EXTIF -dport80-j ACCEPT # WWW# iptables -A INPUT -p TC

12、P -i $EXTIF -dport 110-j ACCEPT # POP3# iptables -A INPUT -p TCP -i $EXTIF -dport 443-j ACCEPT # HTTPS# 第二部份,针对后端主机的防火墙设置! # 1. 先加载一些有用的模块modules=ip_tables iptable_nat ip_nat_ftp ip_nat_irc ip_conntrackip_conntrack_ftp ip_conntrack_ircfor mod in $modulesdo testmod=lsmod | grep $mod if $testmod = ; t

13、hen modprobe $mod fidone# 2. 清除 NAT table 的规则iptables -F -t natiptables -X -t natiptables -Z -t natiptables -t nat -P PREROUTINGACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT# 3. 若有内部接口的存在(双网卡)开放成为路由器,且为 IP 分享器(NAT)!if $INIF != ; then iptables -A INPUT -i $INIF -j ACCEPT echo 1 /proc/sys/net/ipv4/ip_forward if $INNET != ; then for innet in $INNET do iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE done fifi# 如果你的 MSN 一直无法连接,或者是某些网站 OK 某些网站不 OK,# 可能是 MTU 的问题,那你可以将底下这一行取消注释来启动 MTU 限制范围# iptables -A FORWARD -p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号