作为实验室的后备网络管理员,在经历了n次被骂之后,终于完成了这个DHCP+NAT+IP隧道的实验。

说一下实验室的情况,我们的实验室分为两个屋子,这两个屋子离得也比较远。每个屋子使用一个linux主机作为与外界网络连接的出口,这个linux主机的另一个作用是DHCP服务器。而两个屋子的linux主机需要完成的另一个功能就是将两个屋子的两个局域网连接起来,就像在同一个局域网络中一样。

我的任务就是模拟这个环境,为维护实验室网络做一些前期的演练。

1.先决条件

两台Linux主机,每个主机都有两块物理网卡。

2.DHCP服务器配置

1.首先安装dhcp服务器apt-get install isc-dhcp-server2.我们打算将网卡eth1作为对内的网卡,eth0作为对外的网卡。修改/etc/default/isc-dhcp-server , 将最后一行的 INTERFACES=""修改为INTERFACES = "eth1" .也就是说,当网络搭建好以后,用一根网线连接eth1和你的笔记本电脑,你
的笔记本电脑就会被分配一个IP地址。eth0用来连接外部网络.3.修改 /etc/dhcp/dhcpd.conf为:ddns-update-style none;option domain-name "dslab lzu.edu.cn";option domain-name-servers 202.201.0.131, 202.201.0.132;default-lease-time 600;max-lease-time 7200;log-facility local7;# 局域网地址可以根据自己的需要去配置subnet 10.0.1.0 netmask 255.255.255.0 {range dynamic-bootp 10.0.1.200 10.0.1.250;option broadcast-address 10.0.1.255;option routers 10.0.1.1;}4.修改 /etc/network/interfaces 文件为:# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceallow-hotplug eth0#iface eth0 inet dhcpiface eth0 inet static# 外网地址需要根据实际进行配置address 192.168.2.101netmask 255.255.255.0gateway 192.168.2.1broadcast 192.168.2.255allow-hotplug eth1#iface eth1 inet dhcpiface eth1 inet staticaddress 10.0.1.1netmask 255.255.255.0network 10.0.1.0broadcast 10.0.1.2555.重新启动计算机, 用网线将笔记本和eth1连接起来,就可以看到
连接成功。使用 ifconfig 命令在笔记本上查看自己的ip地址可以看
到ip地址为10.0.1.200(你的ip地址可能会不一样).

3.iptables NAT转发配置

1.首先修改文件 /etc/sysctl.conf,将其中的 "# net.ipv4.ip_forward=1" 这一行前面的 "#" 去掉
修改完之后,使用 sysctl -p 命令使这个修改生效
2.编写文件 nat_iptables.sh ,这个文件的主要作用是开机的时候,自动
启动数据转发,文件的内容如下:#!/bin/bashiptables -Fiptables -t nat -A POSTROUTING -s 10.0.1.1/24 -j SNAT --to-source 192.168.2.101最后一条命令配置将局域网内的数据包转向外网,第一个ip地址为内网地址,
第二个ip地址为外网地址。3.修改 nat_iptables.sh的权限:chmod a+x nat_iptables.sh4.将第2步中编写的 nat_iptables.sh 文件的绝对路径(注意是绝对路径,例如:
/home/dslab/nat_iptables.sh)写入文件 /etc/rc.local中,注意要写在exit 0
语句之前。

4.ip隧道配置

预备条件计算机A,两个网卡,对内ip为10.0.1.1,对外ip为192.168.1.162计算机B,两个网卡,对内ip为10.0.2.1,对外ip为192.168.1.1951.在计算机A上编写文件 rc.ipip,输入内容如下:#!/bin/shmodprobe ipipmodprobe ip_greip tun add tnl0 mode ipip remote 192.168.1.195 local 192.168.1.162ip link set tnl0 upip ad ad 10.0.1.128 peer 10.0.2.128 dev tnl0ip ro ad 10.0.2.0/24 dev tnl02.在计算机B上编写文件 rc.ipip,输入以下内容:#!/bin/shmodprobe ipipmodprobe ip_greip tun add tnl0 mode ipip remote 192.168.1.162 local 192.168.1.195ip link set tnl0 upip ad ad 10.0.2.128 peer 10.0.1.128 dev tnl0ip ro ad 10.0.1.0/24 dev tnl03.分别在计算机A和B上执行命令:chmod a+x rc.ipip给这个脚本添加执行权限.4.分别修改计算机A和B上的 /etc/rc.local 文件,将 rc.ipip 文件的绝对路径
添加到 exit 0 之前就可以了。

DHCP+NAT+IP隧道相关推荐

  1. DHCP 自动分配IP地址 ,IP隧道

    DHCP 向网段上的DHCP服务器发送DHCP请求,DHCP服务器向主机返回IP地址和子网掩码,然后主机向DHCP请求获取这个IP地址和子网掩码,最后DHCP服务器同意.为了对抗服务器的失效,一般会冗 ...

  2. linux中服务器之间的跳转,linux之***服务器间ip隧道跳转多ip路由走向分流(系真实案例)...

    本文系统Centos6.0:这里的***服务以pptpd为例:其中底层涉及到pptpd+freeradius+mysql认证: 本文系真实案例:leader需求大多是这样的,节约成本还要达到所需要的效 ...

  3. linux ip隧道技术,linux之IP隧道配置

    本文系统Centos6.0 在这里我就不讲什么隧道.IP隧道技术了:lvs的三种模式也不说了 我这里隧道说白了就是不同机房,不同公网IP,怎么让他们实现局域网的效果,配置同一网段的私网IP:可以实现互 ...

  4. 在Linux上通过IPIP实现IP隧道

    一个通过IPIP实现IP隧道的简单示例 两台主机,A和B,每台主机由两块网卡,其中eth0在同一个网段,能够互相连通. A的eth1和B的eth1分别在两个不同的网段. A: eth0:192.168 ...

  5. LVS IP隧道模式(IP Tunneling)

    一. IP隧道模式 ip隧道是一个将ip报文封装到另一个ip报文的技术,这可以使得目标为一个ip地址的数据报文被封装和转发到另一个ip地址.ip隧道技术也成为ip封装技术. 它和NAT模式不同的是,它 ...

  6. dhcp报文_动态地址分配DHCP,IP地址管理方式及分配原则,一分钟了解下

    一.DHCP简介 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)用来为网络设备动态地分配 IP 地址等网络配置参数. DHCP 采用客户端/服务器 ...

  7. linux 隧道服务器,两台linux服务器上建立ip隧道 | 菜鸟博客

    服务器server的地址192.168.18.251,服务器client的地址192.168.18.252. 建立隧道 在服务器server上执行以下命令: ip tunnel add ethn mo ...

  8. 批处理-DHCP绑定IP地址

     今天我们来谈论一下如何用批处理在DHCP服务器上绑定IP地址和网卡的MAC地址,可能大家看着晕糊,心里想那不是很难!呵呵,其实那一点都不难,整个过程很简单,完全靠一条命令行就能解决问题!下面我把我在 ...

  9. 设备自动获取ip DHCP模型 IP为169.254.4.193

    服务器设置为自动获取ip ,在DHCP模型 通过ifconfig发现其IP为169.254.4.193,这个说明设备DHCP获取ip失败,这个时候需要检测设备问题

最新文章

  1. .NET BitmapImage 内存释放问题解决方案
  2. MySQL字符串截取函数
  3. idea创建git分支
  4. 设树采用孩子兄弟表示法存放.用类c语言设计算法计算树的高度.,(数据结构课程设计分类题目.doc...
  5. html5复选框控制按钮状态,HTML5如何添加原生radio按钮和checkbox复选框转换为非常好看的滑动开关按钮的插件...
  6. 认识Java虚拟机的基本结构
  7. 学校计算机教室自查报告,学校专用教室自查报告范文
  8. Ext.grid.EditorGridPanel列表复选框不能随意多选的问题
  9. Docker视频教程 之 熟悉docker-machine及docker常用命令 - 知识林
  10. visual c++ build tools下载地址
  11. @Required注解
  12. RAKsmart:美国服务器租用对建站有哪些帮助?
  13. 京东云 - 增值税发票识别
  14. 肿瘤免疫疗法 | 细胞治疗和PD1/PDL1 | Tumor immunotherapy | cell therapy
  15. 安卓模拟器配置了摄像头还是显示黑白棋盘
  16. 关于软件定时器的一些讨论
  17. 天气变冷了,用Python给爸妈制作一个天气提醒小助手
  18. SPM混沌映射(含MATLAB代码)
  19. cmd 实用命令以及如何装逼
  20. Springboot整合redis+jedis

热门文章

  1. 毕业2月有余,苏州同学腐败第二次大聚会
  2. [转载] NumPy Beginner‘s Guide 2e 带注释源码 七、NumPy 特殊例程
  3. [转载] Python学习(五)Numpy通用函数汇总
  4. Java匹马行天下之 Java国出了个Java——举国欢庆
  5. SQL批量更新 关系表更新
  6. log4j2日志xml配置——不同级别的日志分别记录在不同的文件
  7. Gym 100818I Olympic Parade(位运算)
  8. jQuery ajax get与post后台交互中的奥秘
  9. android6.0原生brower_Android Browser学习一 application的初始化
  10. python中while的特点_Python【2】:初入python 用户输入,if,(while 循环)