dnsmasq ipv6測試

物理口

client端設(shè)置:

1、sysctl 修改內(nèi)核參數(shù),使能接口ipv6泌辫,是能全局ipv6轉(zhuǎn)發(fā),使能接口 accept_ra九默。
# 是能接口ipv6震放,默認(rèn) disable
net.ipv6.conf.eth2.disable_ipv6 = 0
# 允許接口接受ra報文,Obtain IPv6 address on wan interface by Stateless autoconfiguration (SLAAC)
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.eth2.accept_ra = 2
net.ipv6.conf.eth2.autoconf = 1
# 測試需要驼修,不使用臨時地址
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
2殿遂、修改/etc/sysconfig/network
NETWORKING_IPV6=yes
3、修改 /etc/sysconfig/network-scripts/ifcfg-eth2(可以不做持久化)
DEVICE=eth2
ONBOOT=yes
NETBOOT=yes
NM_CONTROLLED=no
PEERDNS=yes
#BOOTPROTO=dhcp # 打開這個可以同時獲取ipv4和ipv6地址
BOOTPROTO=dhcp6  # 打開這個只會獲取ipv6的地址
DHCPV6C=yes
IPV6INIT=yes
IPV6_AUTOCONFIG=yes
4乙各、dhclient 的使用.

需要使用dhcp分配地址或域名等配置是需要使用dhclient墨礁,否者不需要,如slaac方式獲取地址又靜態(tài)配置dns等other infomation的情況耳峦,不需要任何dhcp的協(xié)商恩静,只需要打開RA接受開關(guān)即可。
PPPoE的情況下妇萄,dhclient 作用在ppp口上即可蜕企,其他類似。

編碼 測試
接受地址和other infomation dhclient -6 eth2 --no-pid -nw dhclient -6 eth2 --no-pid -v
不接受地址冠句,只接受other infomation轻掩。如靜態(tài)配置ipv6地址,只需要dns地址等時候 dhclient -6 -S eth2 --no-pid -nw dhclient -6 -S eth2 --no-pid -v

server端 dnsmasq配置

1懦底、配置/etc/sysconfig/network
NETWORKING_IPV6=yes
2唇牧、內(nèi)核參數(shù)罕扎,使能接口ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth2.disable_ipv6 = 0
3、dnsmasq配置

無論是Autoconf丐重、dhcp stateless腔召、dhcpstateful都需要用到RA消息,告訴client能過提供的能力扮惦,RA報文由dnsmasq根據(jù)配置文件構(gòu)造臀蛛。RA消息報文可以包含的一些flag,這些flag會反應(yīng)在dnsmasq的配置上崖蜜,決定client端地址分配的方式:

IPv6 Router Advertisement (RA) messages can contain the following flags:

* M (“Managed address configuration”) – indicates that IPv6 addresses are available via DHCPv6. This is also referred to as Stateful DHCP.
* O (“Other configuration”) – no IPv6 address, but other configuration information like DNS etc. are available via DHCPv6. This is also referred to as Stateless DHCP.
* A (“Autonomous Address Configuration”) – indicates that the prefix present with the flag can be used for SLAAC (StateLess Auto Address Configuration).

M flag表示Server能過分配ipv6地址和其他配置(如dns等)浊仆,O標(biāo)記表示只分配其他配置, 所以M和O同時設(shè)置O實際上沒啥用豫领。A表示讓Client通過發(fā)過去的Prefix自己生成地址抡柿。A和M同時設(shè)置時,Client會生成兩個地址等恐。

dnsmasq的flag標(biāo)記設(shè)置在 dhcp-range配置項中洲劣。
i) dhcp-range 無ra配置(dhcpv6 statefull)
默認(rèn)情況下,enable-ra之后的默認(rèn)行為解釋如下:

# Do router advertisements for all subnets where we're doing DHCPv6
# Unless overridden by ra-stateless, ra-names, et al, the router 
# advertisements will have the M and O bits set, so that the clients
# get addresses and configuration from DHCPv6, and the A bit reset, so the 
# clients don't use SLAAC addresses.

理解為 RA設(shè)置了M 和 O flag课蔬,未設(shè)置A flag囱稽,ipv6地址和參數(shù)都是由dhcp從地址池中分配。

測試效果:
可以看到client從地址池中分到了一個ipv6地址购笆。
注: M和O標(biāo)記出發(fā)的dhcp協(xié)商需要client端觸發(fā)dhcp SOLICIT申請地址粗悯,如通過 dhclient -6 -v eth2虚循。

# dnsmasq.conf
interface=eth2
# ipv4
dhcp-range=eth2,20.3.3.100,20.3.3.200,86400
dhcp-option=eth2,3,20.3.3.1
dhcp-option=eth2,1,255.255.255.0
dhcp-option=eth2,6,114.114.114.114

# set M O flag同欠,reset A flag
dhcp-range=fd00::22, fd00::44, 64, 1h
enable-ra
ra-param=eth2,10                // ra 發(fā)送間隔
# client:
# ip addr ls dev eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f4:6b:67 brd ff:ff:ff:ff:ff:ff
    inet6 fd00::23/64 scope global dynamic
       valid_lft 3596sec preferred_lft 3596sec
    inet6 fe80::a00:27ff:fef4:6b67/64 scope link
       valid_lft forever preferred_lft forever

ii) ra-only (slaac)
Do Router Advertisements, BUT NOT DHCP for this subnet.
可以理解為,RA設(shè)置了A flag横缔,沒有M和O flag襟锐,效果應(yīng)該是一個純粹的 SLAAC地址分配方式。

測試效果:
可以看到client端自動獲取到一個前綴 是fd00:: 的SLAAC地址(前綴+EUI-64)膛锭。

# dnsmasq.conf
interface=eth2
# ipv4
dhcp-range=eth2,20.3.3.100,20.3.3.200,86400
dhcp-option=eth2,3,20.3.3.1
dhcp-option=eth2,1,255.255.255.0
dhcp-option=eth2,6,114.114.114.114

# no M or O flags; only A flag
dhcp-range=fd00::, ra-only
enable-ra
client: 
# ip addr ls dev eth2 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f4:6b:67 brd ff:ff:ff:ff:ff:ff
    inet6 fd00::a00:27ff:fef4:6b67/64 scope global mngtmpaddr dynamic
       valid_lft 3440sec preferred_lft 3440sec
    inet6 fe80::a00:27ff:fef4:6b67/64 scope link
       valid_lft forever preferred_lft forever

iii) ra-stateless (dhcpv6 stateless)
解釋如下

# Do Router Advertisements and stateless DHCP for this subnet. Clients will
# not get addresses from DHCP, but they will get other configuration information.
# They will use SLAAC for addresses.

理解為設(shè)置了 O、A flag初狰,未設(shè)置M flag莫杈。
`
測試效果:
通過slaac設(shè)置ipv6地址,通過dhcp設(shè)置了dns。

# dnsmasq.conf
interface=eth2
# ipv4
dhcp-range=eth2,20.3.3.100,20.3.3.200,86400
dhcp-option=eth2,3,20.3.3.1
dhcp-option=eth2,1,255.255.255.0
dhcp-option=eth2,6,114.114.114.114

# ipv6
# n only O and A flags; no M flag
dhcp-range=fd00::, ra-stateless
enable-ra
# 支持分配 dns-server
dhcp-option=option6:dns-server,[240c::6666],[240c::6644]
client: 
# ip addr ls dev eth2 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f4:6b:67 brd ff:ff:ff:ff:ff:ff
    inet6 fd00::a00:27ff:fef4:6b67/64 scope global mngtmpaddr dynamic
       valid_lft 3440sec preferred_lft 3440sec
    inet6 fe80::a00:27ff:fef4:6b67/64 scope link
       valid_lft forever preferred_lft forever

# cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 240c::6666
nameserver 240c::6644

iv) slaac
理解為設(shè)置了M、A flag,未設(shè)置O flag。
也就是說接口會得到兩個ipv6地址,其中一個slaac地址,一個dhcp地址嘹履。
測試效果:
通過slaac設(shè)置ipv6地址,通過dhcp設(shè)置了dns配并。

# dnsmasq.conf
interface=eth2
# ipv4
dhcp-range=eth2,20.3.3.100,20.3.3.200,86400
dhcp-option=eth2,3,20.3.3.1
dhcp-option=eth2,1,255.255.255.0
dhcp-option=eth2,6,114.114.114.114

# ipv6
# n only O and A flags; no M flag
dhcp-range=fd00::22, fd00::44, slaac
enable-ra
# 支持分配 dns-server
dhcp-option=option6:dns-server,[240c::6666],[240c::6644]
client: 
# ip addr ls dev eth2 
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:f4:6b:67 brd ff:ff:ff:ff:ff:ff
    inet6 fd00::23/64 scope global dynamic
       valid_lft 3595sec preferred_lft 3595sec
    inet6 fd00::a00:27ff:fef4:6b67/64 scope global mngtmpaddr dynamic
       valid_lft 3588sec preferred_lft 3588sec
    inet6 fe80::a00:27ff:fef4:6b67/64 scope link
       valid_lft forever preferred_lft forever

# cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 240c::6666
nameserver 240c::6644

總結(jié):

配置 flag
default set O and M flag, reset A flag
ra-only set A, reset M and O
slaac if a DHCPv6 range is specified then M and A flags; else only A flag
ra-stateless set O and A, reset M
ra-names set A, reset M and O

pppoe ipv6

client

使用eth3撥入pppoe server观腊。
配置ppp0接收ra配置鲸阔。

net.ipv6.conf.ppp0.accept_ra = 2

配置支持ipv6cp協(xié)商

# cat /etc/ppp/options
lock
+ipv6 ipv6cp-use-ipaddr

配置認(rèn)證用戶名密碼

# cd /etc/ppp
# cat pap-secrets
# Secrets for authentication using PAP
# client    server  secret          IP addresses
"sheng" *   "sheng"
# cat chap-secrets
# Secrets for authentication using CHAP
# client    server  secret          IP addresses
"sheng" *   "sheng"

測試:
i) pppoe-setup命令設(shè)置好pppoe基本信息硫狞,之后會生成ppp0接口配置文件:

# cat  /etc/sysconfig/network-scripts/ifcfg-ppp0
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=no
PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=yes
SYNCHRONOUS=no
ETH=eth3
PROVIDER=DSLppp0
USER=sheng
PEERDNS=yes
DEMAND=no

ii) pppoe-stop ; pppoe-start 命令完成撥號和下線。
默認(rèn)會得到一個link local地址和一個slaac地址。
流程簡單描述為绰疤,ppp完成ipv6cp協(xié)商后兩邊得到不重復(fù)的interface id煎谍,用來生成兩邊的link local地址,然后client然后發(fā)起RS請求,pppoe-server端回RA,client端根據(jù)RA的prefix等信息生成slaac地址。
結(jié)果如下:

# ip addr 
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:c2:27:6c brd ff:ff:ff:ff:ff:ff
31: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp
    inet 192.168.5.219 peer 192.168.5.100/32 scope global ppp0
       valid_lft forever preferred_lft forever
    inet6 2020:db8:2:0:e52f:7cf9:b3b3:2184/64 scope global mngtmpaddr dynamic
       valid_lft 86395sec preferred_lft 14395sec
    inet6 fe80::e52f:7cf9:b3b3:2184/10 scope link
       valid_lft forever preferred_lft forever

如果需要想dhcp申請ipv6地址。
測試: dhclient -6 -v ppp0

# ip addr 
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:c2:27:6c brd ff:ff:ff:ff:ff:ff
    inet6 fe80::9526:8dca:25b8:a2c8/64 scope link
       valid_lft forever preferred_lft forever
31: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 3
    link/ppp
    inet 192.168.5.219 peer 192.168.5.100/32 scope global ppp0
       valid_lft forever preferred_lft forever
    inet6 2020:db8:2::12/64 scope global dynamic
       valid_lft 3749sec preferred_lft 2749sec
    inet6 2020:db8:2:0:e52f:7cf9:b3b3:2184/64 scope global mngtmpaddr dynamic
       valid_lft 86396sec preferred_lft 14396sec
    inet6 fe80::e52f:7cf9:b3b3:2184/10 scope link
       valid_lft forever preferred_lft forever
# cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
nameserver 2001:db8:2::dead:beef
nameserver 2001:db8:2::cafe:babe

附pppoe-server配置:
太多了,參考 https://www.dazhuanlan.com/an__he/topics/1005802 吧休傍。
完全按照上面的做有問題寝衫,有幾個地方在調(diào)試過程中改了一下,最終ok着饥。
i) /etc/ppp/options 不能增加 " ipv6 ,"配置轨奄,否則申請不到地址谎柄。刪掉就ok了吨凑。

[root@localhost ~]# cat /etc/ppp/options
#lock
local
#ipv6 ,

ii) radvd監(jiān)聽的接口我改成了ppp0

# cat /etc/radvd.conf
interface ppp0                #接你撥號上網(wǎng)的網(wǎng)卡名稱
{
    AdvSendAdvert on;           #啟用路由器公告(RA)功能
    MinRtrAdvInterval 5;       #每隔30-100秒間隔發(fā)送公告消息
    MaxRtrAdvInterval 10;
    AdvManagedFlag on;         # M值
    AdvOtherConfigFlag on;      # O值
    prefix 2020:db8:2::/64      #發(fā)送的前綴信息
    {
        AdvOnLink on;
        AdvAutonomous on;       #公告的前綴可用來自動位置配置
        AdvRouterAddr on;
    };
};

f
iii) kea的配置文件,interface配置也改成了ppp0。

"Dhcp6": {
    // Add names of your network interfaces to listen on.
    "interfaces-config": {
        // You typically want to put specific interface names here, e.g. eth0
        // but you can also specify unicast addresses (e.g. eth0/2001:db8::1) if
        // you want your server to handle unicast traffic in addition to
        // multicast. (DHCPv6 is a multicast based protocol).
        "interfaces": ["enp0s10", "ppp0", "*" ]
    },
......

"subnet6": [
        {
"subnet": "2020:db8:2::/64",
......
"interface":"ppp0"


......
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凰棉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蒙幻,更是在濱河造成了極大的恐慌诈豌,老刑警劉巖叠聋,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熟妓,死亡現(xiàn)場離奇詭異抵栈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)醇滥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泡一,“玉大人涵但,你說我怎么就攤上這事。” “怎么了贤笆?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵蝇棉,是天一觀的道長讨阻。 經(jīng)常有香客問我芥永,道長,這世上最難降的妖魔是什么钝吮? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任埋涧,我火速辦了婚禮,結(jié)果婚禮上奇瘦,老公的妹妹穿的比我還像新娘棘催。我一直安慰自己,他們只是感情好耳标,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布醇坝。 她就那樣靜靜地躺著,像睡著了一般次坡。 火紅的嫁衣襯著肌膚如雪呼猪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天砸琅,我揣著相機(jī)與錄音宋距,去河邊找鬼。 笑死症脂,一個胖子當(dāng)著我的面吹牛谚赎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播诱篷,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼壶唤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了棕所?” 一聲冷哼從身側(cè)響起闸盔,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎橙凳,沒想到半個月后蕾殴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岛啸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年钓觉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坚踩。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡荡灾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情批幌,我是刑警寧澤础锐,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站荧缘,受9級特大地震影響皆警,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜截粗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一信姓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绸罗,春花似錦意推、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至育灸,卻和暖如春腻窒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背描扯。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工定页, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绽诚。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓典徊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親恩够。 傳聞我的和親對象是個殘疾皇子卒落,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容