博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 11.04 DHCP server 和 ipv6 备忘
阅读量:5859 次
发布时间:2019-06-19

本文共 4354 字,大约阅读时间需要 14 分钟。

 

两台笔记本 A和B

 

A: Ubuntu 11.04 + 有线网卡(eth0) + 无线网卡(eth1)

B: Windows 7 + 有线网卡 + 无线网卡

A,B的无线网卡都连接到家庭无线路由器,网关为192.168.0.1,可以上互联网。A,B的有线网卡通过网线直连,A作为DHCP server和网关,为B的有线网卡分配IP地址

 

A安装DHCP server步骤:

1. sudo apt-get install dhcp3-server

2. vi /etc/default/isc-dhcp-server

INTERFACES="eth0"

3. 给eth0配置ipv4静态地址: 192.168.1.1。

注意不要用network connection配置静态IP,它不会写/etc/network/interfaces文件,导致dhcp server无法自动启动。

为了使DHCP server在启动时自动启动,vi /etc/network/interfaces, 加入:

auto eth0 iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255

 

4.vi /etc/dhcp/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.200; option broadcast-address 192.168.1.255; option routers 192.168.1.1; default-lease-time 6000; max-lease-time 8000000; }

 

5. sudo /etc/init.d/isc-dhcp-server start

如果出错,查看/var/log/syslog的错误提示

 

A安装玩DHCP server后,B的有线网卡可以分配到IP地址。但是B不能上互联网了。

route print

0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.99 26

0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.10 10

连互联网时都走HOP数小的192.168.1.1路由,导致无法上互联网。

 

运行下面命令解决问题:

route delete 0.0.0.0

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1

route add 192.168.1.0 mask 255.255.255.0 192.168.1.1

 

实验2:B关闭无线网卡,希望通过A作为路由器来连互联网

 

1. 在DHCP服务器的配置文件中,加入DNS服务器。这样B才能通过A知道DNS服务器的地址

vi /etc/dhcp/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.200; option broadcast-address 192.168.1.255; option routers 192.168.1.1;

option domain-name-servers 180.168.255.18; default-lease-time 6000; max-lease-time 8000000; }

 

2.

A中打开ip包转发功能, vi /etc/sysctl.conf,删除下面一行的注释

net.ipv4.ip_forward=1

(sudo sysctl -p 使改变的配置立即生效)

同时添加iptables(临时方法,重启后会失效):

 

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

sudo iptables-save 永久保存

(-o eth1 指定output network interface为eth1)

实验3:A使用radvd(Router Advertisement Daemon)为B分配ipv6地址

 

radvd 使用 (NDP) as specified in

 

1. sudo apt-get install radvd

2. vi /etc/radvd.conf (需新建该文件),如下面几行:

interface eth0 { MinRtrAdvInterval 3; MaxRtrAdvInterval 10; AdvLinkMTU 1280; AdvSendAdvert on; prefix fec0:1111:2222:3333::/64 { AdvOnLink on; AdvAutonomous on; AdvValidLifetime 86400; AdvPreferredLifetime 86400; AdvRouterAddr on; }; };

 

3. 在/etc/sysctl.conf 中打开 net.ipv6.conf.all.forwarding=1

 

4. sudo /etc/init.d/radvd start

(如果在 radvd 运行状态下重启机器,radvd 会在开机后自动运行)

 

5. 在B上运行ipconfig:

以太网适配器 本地连接:

连接特定的 DNS 后缀 . . . . . . . : 本地站点的 IPv6 地址. . . . . . . : fec0:1111:2222:3333:a432:4f4d:72bf:ed0a%1

本地链接 IPv6 地址. . . . . . . . : fe80::a432:4f4d:72bf:ed0a IPv4 地址 . . . . . . . . . . . . : 192.168.1.10 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : fe80::211:43ff:fe76:cb8

 

注意windows下 fec0:1111:2222:3333:a432:4f4d:72bf:ed0a%1 中的%1表示网络接口编号

 

ping本机地址:

C:\>ping fec0:1111:2222:3333:a432:4f4d:72bf:ed0a (本地站点地址)

正在 Ping fec0:1111:2222:3333:a432:4f4d:72bf:ed0a 具有 32 字节的数据: 来自 fec0:1111:2222:3333:a432:4f4d:72bf:ed0a 的回复: 时间<1ms

 

C:\>ping fe80::a432:4f4d:72bf:ed0a (本地链路地址)

正在 Ping fe80::a432:4f4d:72bf:ed0a 具有 32 字节的数据: 来自 fe80::a432:4f4d:72bf:ed0a 的回复: 时间<1ms

 

6.A 上运行ifconfig

$ifconfig

eth0 Link encap:Ethernet HWaddr 00:11:43:76:0c:b8 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::211:43ff:fe76:cb8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4634 errors:0 dropped:0 overruns:0 frame:0 TX packets:1299 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:677921 (677.9 KB) TX bytes:178937 (178.9 KB) Interrupt:18

ping本机地址 (注意linux上ping6的用法,必须指定接口):

$ ping6 -I eth0 fe80::211:43ff:fe76:cb8

PING fe80::211:43ff:fe76:cb8(fe80::211:43ff:fe76:cb8) from fe80::211:43ff:fe76:cb8 eth0: 56 data bytes 64 bytes from fe80::211:43ff:fe76:cb8: icmp_seq=1 ttl=64 time=0.046 ms

7. B ping A

C:\>ping fe80::211:43ff:fe76:cb8

正在 Ping fe80::211:43ff:fe76:cb8 具有 32 字节的数据: 来自 fe80::211:43ff:fe76:cb8 的回复: 时间<1ms

 

8. A ping B

$ ping6 -I eth0 fe80::a432:4f4d:72bf:ed0a PING fe80::a432:4f4d:72bf:ed0a(fe80::a432:4f4d:72bf:ed0a) from fe80::211:43ff:fe76:cb8 eth0: 56 data bytes 64 bytes from fe80::a432:4f4d:72bf:ed0a: icmp_seq=1 ttl=64 time=0.733 ms

g$ ping6 -I eth0 fec0:1111:2222:3333:a432:4f4d:72bf:ed0a connect: Network is unreachable

A只能ping通B的本地链路地址,无法ping通本地站点地址。因为使用本地站点地址作为源或目的地址的数据报文不会被转发到本站点(相当于一个私有网络)外的其它站点,B的本地站点地址只能在B本地使用。

 

实验4: A 使用 wide-dhcpv6-server 为B分配ipv6地址

1. sudo apt-get install wide-dhcpv6-server

2. vi /etc/dhcp/dhcpd6.conf

 

转载地址:http://dirjx.baihongyu.com/

你可能感兴趣的文章
(cons '(〇 . 前言) 《为自己写本-Guile-书》)
查看>>
JQuery tokeninput输入提示插件获取JSON数据
查看>>
一天一点linux(11):如何用U盘装Linux系统?
查看>>
Android动态设置控件长宽比的几种常见方法
查看>>
SegmentFault 高效改版,快来内测啦!
查看>>
docker学习系列13 实现 基于pxc 的mysql 多节点主主同步 ...
查看>>
Javascript操作DOM常用API总结
查看>>
Java图形化:布局方式
查看>>
DBA很忙—MySQL的性能优化及自动化运维实践
查看>>
通过调用笑话列表API获取笑话列表
查看>>
POI事件模式指北(三)- 读取Excel实战
查看>>
Java —— jdk环境变量搭建
查看>>
前端如何实现图片懒加载(lazyload) 提高用户体验
查看>>
光宇游戏CTO沈崴:《问道》“2019”年度数字大服为何选择阿里云!
查看>>
Java 工程师成神之路 | 2019正式版
查看>>
用条码标签打印软件批量打印物料标签
查看>>
Nginx 1.15.10 主线版发布,高性能 Web 服务器
查看>>
android 记一次解决键盘遮挡问题
查看>>
微服务设计指南
查看>>
使用rekit脚手架创建react项目
查看>>