标签:linux dhcp nat iptables ip隧道
作为实验室的后备网络管理员,在经历了n次被骂之后,终于完成了这个DHCP+NAT+IP隧道的实验。
说一下实验室的情况,我们的实验室分为两个屋子,这两个屋子离得也比较远。每个屋子使用一个linux主机作为与外界网络连接的出口,这个linux主机的另一个作用是DHCP服务器。而两个屋子的linux主机需要完成的另一个功能就是将两个屋子的两个局域网连接起来,就像在同一个局域网络中一样。
我的任务就是模拟这个环境,为维护实验室网络做一些前期的演练。
两台Linux主机,每个主机都有两块物理网卡。
1.首先安装dhcp服务器 apt-get install isc-dhcp-server 2.我们打算将网卡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 interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 #iface eth0 inet dhcp iface eth0 inet static # 外网地址需要根据实际进行配置 address 192.168.2.101 netmask 255.255.255.0 gateway 192.168.2.1 broadcast 192.168.2.255 allow-hotplug eth1 #iface eth1 inet dhcp iface eth1 inet static address 10.0.1.1 netmask 255.255.255.0 network 10.0.1.0 broadcast 10.0.1.255 5.重新启动计算机, 用网线将笔记本和eth1连接起来,就可以看到 连接成功。使用 ifconfig 命令在笔记本上查看自己的ip地址可以看 到ip地址为10.0.1.200(你的ip地址可能会不一样).
1.首先修改文件 /etc/sysctl.conf, 将其中的 "# net.ipv4.ip_forward=1" 这一行前面的 "#" 去掉 修改完之后,使用 sysctl -p 命令使这个修改生效 2.编写文件 nat_iptables.sh ,这个文件的主要作用是开机的时候,自动 启动数据转发,文件的内容如下: #!/bin/bash iptables -F iptables -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.sh 4.将第2步中编写的 nat_iptables.sh 文件的绝对路径(注意是绝对路径,例如: /home/dslab/nat_iptables.sh)写入文件 /etc/rc.local中,注意要写在exit 0 语句之前。
预备条件 计算机A,两个网卡,对内ip为10.0.1.1,对外ip为192.168.1.162 计算机B,两个网卡,对内ip为10.0.2.1,对外ip为192.168.1.195 1.在计算机A上编写文件 rc.ipip,输入内容如下: #!/bin/sh modprobe ipip modprobe ip_gre ip tun add tnl0 mode ipip remote 192.168.1.195 local 192.168.1.162 ip link set tnl0 up ip ad ad 10.0.1.128 peer 10.0.2.128 dev tnl0 ip ro ad 10.0.2.0/24 dev tnl0 2.在计算机B上编写文件 rc.ipip,输入以下内容: #!/bin/sh modprobe ipip modprobe ip_gre ip tun add tnl0 mode ipip remote 192.168.1.162 local 192.168.1.195 ip link set tnl0 up ip ad ad 10.0.2.128 peer 10.0.1.128 dev tnl0 ip ro ad 10.0.1.0/24 dev tnl0 3.分别在计算机A和B上执行命令: chmod a+x rc.ipip 给这个脚本添加执行权限. 4.分别修改计算机A和B上的 /etc/rc.local 文件,将 rc.ipip 文件的绝对路径 添加到 exit 0 之前就可以了。
标签:linux dhcp nat iptables ip隧道
原文地址:http://blog.csdn.net/xiaocainiaoshangxiao/article/details/36665861