将centOS变成路由服务器
众所周知,linux最强大的功能就是网络功能,但是学习linux却不仅仅是为了搭建服务器,鉴于linux是一套非常稳定的操作系统,用linux搭建各种服务器是不二的选择。
下面针对三种不同的上网环境,详细介绍一下在centOS 6.5上搭建一个路由服务器。
实验一:Linux为静态IP
实验环境示意图
图1  实验一环境
Step 1:配置linux网卡参数
本实验环境使用的linux硬件环境有两块网卡,分别为eth0和eth1。默认情况下,将eth0设为WAN口,将eth1设为LAN口,本实验也是如此。配置eth0和eth1有两种方式:一是可以编辑配置文件,二是直接可以利用图形界面对其进行配置。建议使用第一种,因为好多linux是没有X Window界面的。
  WAN口(eth0)配置如下:
                MAC地址XX:XX:6F:1E:XX:XX
IP地址  192.168.X.XXX
                子网掩码 255.255.255.0
                默认网关 192.168.0.254
                DNS:    X.X.X.X, 8.8.8.8
LAN口(eth1)配置如下:
            IP地址  192.168.1.1
            子网掩码 255.255.255.0
下面以配置eth0为例。
打开终端,获得root权限之后,输入命令 :
vim  /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=yes (NM_CONTROLLED是network manger的参数,实时生效,修改后无需要重启网卡立即生效
BOOTPROTO=none
HWADDR=xxx(网卡本身的硬件地址)
MACADDR= XX:XX:6F:1E:XX:XX
IPADDR=192.168.0.203
PREFIX=24(此语句可用‘NETMASK=255.255.255.0’替换)
GATEWAY=192.168.0.254
DNS1=X.X.X.X
DNS2=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=System eth0
配置eth1时只需要将其IP地址设为192.168.1.1或者非eth0网段地址,其他不用配置。输入命令:
vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
TYPE=Ethernet
UUID=XXX
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.1
NETMASK=255.255.255.0
Step 2:配置防火墙及NAT服务
防火墙的功能不多说了,不太明白的自己百度一下吧,在这里简要说一下NAT(Network 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/iptables
vim 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
# 第一部部分linux使用vim编辑文件针对本机的防火墙设定!>>>>>##
# 1. 先设定好核心的网络功能:
  echo "1" > /proc/sys/net/ipv4/tcp_syncookies
  echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
        echo "1" > $i
  done
  for i in /proc/sys/net/ipv4/conf/*/log_martians; do
        echo "1" > $i
  done
  for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do
        echo "0" > $i
  done
  for i in /proc/sys/net/ipv4/conf/*/accept_redirects; do
        echo "0" > $i
  done
  for i in /proc/sys/net/ipv4/conf/*/send_redirects; do

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论