天天看點

dnsmasq配置檔案詳解

<code>2017-3-24</code>

<code>更新了 DNS 選項部分内容</code>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

<code>##############################################################################</code>

<code>#</code>

<code>#        DNS 選項</code>

<code># 不加載本地的 /etc/hosts 檔案</code>

<code>#no-hosts</code>

<code># 添加讀取額外的 hosts 檔案路徑,可以多次指定。如果指定為目錄,則讀取目錄中的所有檔案。</code>

<code>#addn-hosts=/etc/dnsmasq.hosts.d</code>

<code># 讀取目錄中的所有檔案,檔案更新将自動讀取</code>

<code>#hostsdir=/etc/dnsmasq.hosts.d</code>

<code># 例如,/etc/hosts中的os01将擴充成os01.example.com</code>

<code>#expand-hosts</code>

<code> </code> 

<code># 緩存時間設定,一般不需要設定</code>

<code># 本地 hosts 檔案的緩存時間,通常不要求快取區域,這樣更改hosts檔案後就即時生效。</code>

<code>#local-ttl=3600</code>

<code># 同 local-ttl 僅影響 DHCP 租約</code>

<code>#dhcp-ttl=&lt;time&gt;</code>

<code># 對于上遊傳回的值沒有ttl時,dnsmasq給一個預設的ttl,一般不需要設定,</code>

<code>#neg-ttl=&lt;time&gt;</code>

<code># 指定傳回給用戶端的ttl時間,一般不需要設定</code>

<code>#max-ttl=&lt;time&gt;</code>

<code># 設定在緩存中的條目的最大 TTL。</code>

<code>#max-cache-ttl=&lt;time&gt;</code>

<code># 不需要設定,除非你知道你在做什麼。</code>

<code>#min-cache-ttl=&lt;time&gt;</code>

<code># 一般不需要設定</code>

<code>#auth-ttl=&lt;time&gt;</code>

<code># 記錄dns查詢日志,如果指定 log-queries=extra 那麼在每行開始處都有額外的日志資訊。</code>

<code>#log-queries</code>

<code># 設定日志記錄器,'-' 為 stderr,也可以是檔案路徑。預設為:DAEMON,調試時使用 LOCAL0。</code>

<code>#log-facility=&lt;facility&gt;</code>

<code>#log-facility=/var/log/dnsmasq/dnsmasq.log</code>

<code># 異步log,緩解阻塞,提高性能。預設為5,最大100。</code>

<code>#log-async[=&lt;lines&gt;]</code>

<code>#log-async=50</code>

<code># 指定使用者群組</code>

<code>#user=nobody</code>

<code>#group=nobody</code>

<code># 指定DNS的端口,預設53,設定 port=0 将完全禁用 DNS 功能,僅使用 DHCP/TFTP</code>

<code>#port=53</code>

<code># 指定 EDNS.0 UDP 包的最大尺寸,預設為 RFC5625 推薦的 edns-packet-max=4096</code>

<code>#edns-packet-max=&lt;size&gt;</code>

<code># 指定向上遊查詢的 UDP 端口,預設是随機端口,指定後降低安全性、加快速度、減少資源消耗。</code>

<code># 設定為 '0' 由作業系統配置設定。</code>

<code>#query-port=53535</code>

<code># 指定向上遊查詢的 UDP 端口範圍,友善防火牆設定。</code>

<code>#min-port=&lt;port&gt;</code>

<code>#max-port=&lt;port&gt;</code>

<code># 指定接口,指定後同時附加 lo 接口,可以使用'*'通配符。</code>

<code># 不能使用接口别名(例如:"eth1:0"),請用 listen-address 選項替代。</code>

<code>#interface=wlp2s0</code>

<code># 指定排除的接口,排除優先級高,可以使用'*'通配符</code>

<code>#except-interface=</code>

<code># 僅接受同一子網的 DNS 請求。</code>

<code># 僅在未指定 interface、except-interface、listen-address 或者 auth-server 時有效。</code>

<code>#local-service</code>

<code># 指定不提供 DHCP 或 TFTP 服務的接口,僅提供 DNS 服務。</code>

<code>#no-dhcp-interface=enp3s0</code>

<code># 指定IP位址,可以多次指定。</code>

<code># interface 選項和 listen-address 選項可以同時使用。</code>

<code># 下面兩行與指定 interface 選項的作用類似。</code>

<code>listen-address=192.168.10.17</code>

<code>#listen-address=127.0.0.1</code>

<code># 通常情況下即使設定了 interface 選項(例如:interface=wlp2s0 )</code>

<code># 将仍然綁定到通配符位址(例如:*:53 )。</code>

<code># 開啟此項将僅監聽指定的接口。</code>

<code># 适用于在同一主機的不同接口或 IP 位址上運作多個 dns 伺服器。</code>

<code>bind-interfaces</code>

<code># 對于新添加的接口不進行綁定。僅 Linux 系統支援,其他系統等同于 bind-interfaces 選項。</code>

<code>#bind-dynamic</code>

<code># 如果 hosts 中的主機有多個 IP 位址,僅傳回對應子網的 IP 位址。</code>

<code>localise-queries</code>

<code># 如果反向查找的是私有位址例如192.168.X.X,僅從 hosts 檔案查找,不再轉發到上遊伺服器</code>

<code>#bogus-priv</code>

<code># 對于任何被解析到此 IP 的域名,将響應 NXDOMAIN 使其解析失效,可以多次指定</code>

<code># 通常用于對于通路不存在的域名,禁止其跳轉到營運商的廣告站點。</code>

<code>#bogus-nxdomain=64.94.110.11</code>

<code># 忽略包含指定位址的 A 記錄查詢的回複。</code>

<code># 例如上遊有台 dns 伺服器僞造 www.baidu.com 的 IP 為 1.1.1.1 并且響應速度非常快。</code>

<code># 指定 ignore-address=1.1.1.1 可以忽略它的響應資訊,</code>

<code># 進而等待 www.baidu.com 正确的查詢結果。</code>

<code>#ignore-address=&lt;ipaddr&gt;</code>

<code>filterwin2k</code>

<code># 指定 resolv-file 檔案路徑,預設/etc/resolv.conf</code>

<code>#resolv-file=/etc/resolv.conf</code>

<code># 不讀取 resolv-file 來确定上遊伺服器</code>

<code>#no-resolv</code>

<code># 在編譯時需要啟用 DBus 支援。</code>

<code>#enable-dbus[=&lt;service-name&gt;]</code>

<code># 嚴格按照resolv.conf中的順序進行查找</code>

<code>#strict-order</code>

<code># 向所有上有伺服器發送查詢,而不是一個。</code>

<code>all-servers</code>

<code># 啟用轉發循環檢測</code>

<code>#dns-loop-detect</code>

<code># 這項安全設定是拒絕解析包含私有 IP 位址的域名,</code>

<code># 這些IP位址包括如下私有位址範圍:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。</code>

<code># 其初衷是要防止類似上遊DNS伺服器故意将某些域名解析成特定私有内網IP而劫持使用者這樣的安全攻擊。</code>

<code># 直接在配置檔案中登出 stop-dns-rebind 配置項進而禁用該功能。</code>

<code># 這個方法确實可以一勞永逸的解決解析内網 IP 位址的問題,</code>

<code># 但是我們也失去了這項安全保護的特性,是以在這裡我不推薦這個辦法。</code>

<code># 使用 rebind-domain-ok 進行特定配置,顧名思義該配置項可以有選擇的忽略域名的 rebind 行為</code>

<code>stop-dns-rebind</code>

<code>rebind-localhost-ok</code>

<code>#rebind-domain-ok=[&lt;domain&gt;]|[[/&lt;domain&gt;/[&lt;domain&gt;/]</code>

<code>rebind-domain-ok=/.</code><code>test</code><code>.com/</code>

<code># 也不要檢測 /etc/resolv.conf 的變化</code>

<code>#no-poll</code>

<code># 重新開機後清空緩存</code>

<code>clear</code><code>-on-reload</code>

<code># 完整的域名才向上遊伺服器查找,如果僅僅是主機名僅查找hosts檔案</code>

<code>domain-needed</code>

<code># IP位址轉換</code>

<code>#alias=[&lt;old-ip&gt;]|[&lt;start-ip&gt;-&lt;end-ip&gt;],&lt;new-ip&gt;[,&lt;mask&gt;]</code>

<code>#local=[/[&lt;domain&gt;]/[domain/]][&lt;ipaddr&gt;[#&lt;port&gt;][@&lt;source-ip&gt;|&lt;interface&gt;[#&lt;port&gt;]]</code>

<code>#server=[/[&lt;domain&gt;]/[domain/]][&lt;ipaddr&gt;[#&lt;port&gt;][@&lt;source-ip&gt;|&lt;interface&gt;[#&lt;port&gt;]]</code>

<code>server=</code><code>/test</code><code>.com</code><code>/192</code><code>.168.10.117</code>

<code>server=</code><code>/10</code><code>.168.192.</code><code>in</code><code>-addr.arpa</code><code>/192</code><code>.168.10.117</code>

<code>#rev-server=&lt;ip-address&gt;/&lt;prefix-len&gt;,&lt;ipaddr&gt;[#&lt;port&gt;][@&lt;source-ip&gt;|&lt;interface&gt;[#&lt;port&gt;]]</code>

<code># 将任何屬于 &lt;domain&gt; 域名解析成指定的 &lt;ipaddr&gt; 位址。</code>

<code># 也就是将 &lt;domain&gt; 及其所有子域名解析成指定的 &lt;ipaddr&gt; IPv4 或者 IPv6 位址,通常用于屏蔽特定的域名。</code>

<code># 一次隻能指定一個 IPv4 或者 IPv6 位址,要同時傳回 IPv4 和IPv6 位址,請多次指定 address= 選項。</code>

<code># 注意: /etc/hosts 以及 DHCP 租約将覆寫此項設定。</code>

<code>#address=/&lt;domain&gt;/[domain/][&lt;ipaddr&gt;]</code>

<code>#ipset=/&lt;domain&gt;/[domain/]&lt;ipset&gt;[,&lt;ipset&gt;]</code>

<code>#mx-host=&lt;mx name&gt;[[,&lt;hostname&gt;],&lt;preference&gt;]</code>

<code>#mx-target=&lt;hostname&gt;</code>

<code># SRV 記錄</code>

<code>#srv-host=&lt;_service&gt;.&lt;_prot&gt;.[&lt;domain&gt;],[&lt;target&gt;[,&lt;port&gt;[,&lt;priority&gt;[,&lt;weight&gt;]]]]</code>

<code># A, AAAA 和 PTR 記錄 </code>

<code>#host-record=&lt;name&gt;[,&lt;name&gt;....],[&lt;IPv4-address&gt;],[&lt;IPv6-address&gt;][,&lt;TTL&gt;]</code>

<code># TXT 記錄</code>

<code>#txt-record=&lt;name&gt;[[,&lt;text&gt;],&lt;text&gt;]</code>

<code># PTR 記錄 </code>

<code>#ptr-record=&lt;name&gt;[,&lt;target&gt;]</code>

<code>#naptr-record=&lt;name&gt;,&lt;order&gt;,&lt;preference&gt;,&lt;flags&gt;,&lt;service&gt;,&lt;regexp&gt;[,&lt;replacement&gt;]</code>

<code># CNAME 别名記錄</code>

<code>#cname=&lt;cname&gt;,&lt;target&gt;[,&lt;TTL&gt;]</code>

<code>#dns-rr=&lt;name&gt;,&lt;RR-number&gt;,[&lt;hex data&gt;]</code>

<code>#interface-name=&lt;name&gt;,&lt;interface&gt;[/4|/6]</code>

<code>#synth-domain=&lt;domain&gt;,&lt;address range&gt;[,&lt;prefix&gt;]</code>

<code>#add-mac[=base64|text]</code>

<code>#add-cpe-id=&lt;string&gt;</code>

<code>#add-subnet[[=[&lt;IPv4 address&gt;/]&lt;IPv4 prefix length&gt;][,[&lt;IPv6 address&gt;/]&lt;IPv6 prefix length&gt;]]</code>

<code># 緩存條數,預設為150條,cache-size=0 禁用緩存。</code>

<code>cache-size=1000</code>

<code># 不緩存未知域名緩存,預設情況下dnsmasq緩存未知域名并直接傳回為用戶端。</code>

<code>no-negcache</code>

<code># 指定DNS同屬查詢轉發數量</code>

<code>dns-forward-max=1000</code>

<code>#dnssec</code>

<code>#trust-anchor=[&lt;class&gt;],&lt;domain&gt;,&lt;key-tag&gt;,&lt;algorithm&gt;,&lt;digest-type&gt;,&lt;digest&gt;</code>

<code>#dnssec-check-unsigned</code>

<code>#dnssec-no-timecheck</code>

<code>#dnssec-timestamp=&lt;path&gt;</code>

<code>#proxy-dnssec</code>

<code>#dnssec-debug</code>

<code>#auth-server=&lt;domain&gt;,&lt;interface&gt;|&lt;ip-address&gt;</code>

<code>#auth-zone=&lt;domain&gt;[,&lt;subnet&gt;[/&lt;prefix length&gt;][,&lt;subnet&gt;[/&lt;prefix length&gt;].....]]</code>

<code>#auth-zone=&lt;domain&gt;[,&lt;interface name&gt;[/6|/4][,&lt;interface name&gt;[/6|/4].....]]</code>

<code>#auth-soa=&lt;serial&gt;[,&lt;hostmaster&gt;[,&lt;refresh&gt;[,&lt;retry&gt;[,&lt;expiry&gt;]]]]</code>

<code>#auth-sec-servers=&lt;domain&gt;[,&lt;domain&gt;[,&lt;domain&gt;...]]</code>

<code>#auth-peer=&lt;ip-address&gt;[,&lt;ip-address&gt;[,&lt;ip-address&gt;...]]</code>

<code># 啟用連接配接跟蹤,讀取 Linux 入棧 DNS 查詢請求的連接配接跟蹤标記,</code>

<code># 并且将上遊傳回的響應資訊設定同樣的标記。</code>

<code># 用于帶寬控制和防火牆部署。</code>

<code># 此選項必須在編譯時啟用 conntrack 支援,并且核心正确配置并加載 conntrack。</code>

<code># 此選項不能與 query-port 同時使用。</code>

<code>#conntrack</code>

<code>#        DHCP 選項</code>

<code># 設定 DHCP 位址池,同時啟用 DHCP 功能。</code>

<code># IPv4 &lt;mode&gt; 可指定為 static|proxy ,當 &lt;mode&gt; 指定為 static 時,</code>

<code># 需用 dhcp-host 手動配置設定位址池中的 IP 位址。</code>

<code># 當 &lt;mode&gt; 指定為 proxy 時,為指定的位址池提供 DHCP 代理。</code>

<code>#dhcp-range=[tag:&lt;tag&gt;[,tag:&lt;tag&gt;],][set:&lt;tag&gt;,]&lt;start-addr&gt;[,&lt;end-addr&gt;][,&lt;mode&gt;][,&lt;netmask&gt;[,&lt;broadcast&gt;]][,&lt;lease time&gt;]</code>

<code>#dhcp-range=172.16.0.2,172.16.0.250,255.255.255.0,1h</code>

<code>#dhcp-range=192.168.10.150,192.168.10.180,static,255.255.255.0,1h</code>

<code># 根據 MAC 位址或 id 固定配置設定用戶端的 IP 位址、主機名、租期。</code>

<code># IPv4 下指定 id:* 将忽略 DHCP 用戶端的 ID ,僅根據 MAC 來進行 IP 位址配置設定。</code>

<code># 在讀取 /etc/hosts 的情況,也可以根據 /etc/hosts 中的主機名配置設定對應 IP 位址。</code>

<code># 指定 ignore 将忽略指定用戶端得 DHCP 請求。</code>

<code>#dhcp-host=[&lt;hwaddr&gt;][,id:&lt;client_id&gt;|*][,set:&lt;tag&gt;][,&lt;ipaddr&gt;][,&lt;hostname&gt;][,&lt;lease_time&gt;][,ignore]</code>

<code>#dhcp-hostsfile=&lt;path&gt;</code>

<code>#dhcp-hostsdir=&lt;path&gt;</code>

<code># 讀取 /etc/ethers 檔案 與使用 dhcp-host 的作用相同。IPv6 無效。</code>

<code>#read-ethers</code>

<code># 指定給 DHCP 用戶端的選項資訊,</code>

<code># 預設情況下 dnsmasq 将發送:子網路遮罩、廣播位址、DNS 伺服器位址、網關位址、域等資訊。</code>

<code># 指定此選項也可覆寫這些預設值并且設定其他選項值。</code>

<code># 重要:可以使用 option:&lt;option-name&gt;或者 option号 來指定。</code>

<code># &lt;option-name&gt; 和 option号的對應關系可使用指令:</code>

<code># dnsmasq --help dhcp 以及 dnsmasq --help dhcp6 檢視,這點很重要。</code>

<code># 例如設定網關參數,既可以使用 dhcp-option=3,192.168.4.4 也可以使用 dhcp-option = option:router,192.168.4.4。</code>

<code># 0.0.0.0 意味着目前運作 dnsmasq 的主機位址。</code>

<code># 如果指定了多個 tag:&lt;tag&gt; 必須同時比對才行。</code>

<code># [encap:&lt;opt&gt;,][vi-encap:&lt;enterprise&gt;,][vendor:[&lt;vendor-class&gt;],] 有待繼續研究。</code>

<code>#dhcp-option=[tag:&lt;tag&gt;,[tag:&lt;tag&gt;,]][encap:&lt;opt&gt;,][vi-encap:&lt;enterprise&gt;,][vendor:[&lt;vendor-class&gt;],][&lt;opt&gt;|option:&lt;opt-name&gt;|option6:&lt;opt&gt;|option6:&lt;opt-name&gt;],[&lt;value&gt;[,&lt;value&gt;]]</code>

<code>#dhcp-option-force=[tag:&lt;tag&gt;,[tag:&lt;tag&gt;,]][encap:&lt;opt&gt;,][vi-encap:&lt;enterprise&gt;,][vendor:[&lt;vendor-class&gt;],]&lt;opt&gt;,[&lt;value&gt;[,&lt;value&gt;]]</code>

<code>#dhcp-optsfile=&lt;path&gt;</code>

<code>#dhcp-optsdir=&lt;path&gt;</code>

<code>#dhcp-option=3,1.2.3.4</code>

<code>#dhcp-option=option:router,1.2.3.4</code>

<code>#dhcp-option=option:router,192.168.10.254</code>

<code>#dhcp-option=option:dns-server,192.168.10.254,221.12.1.227,221.12.33.227</code>

<code># (IPv4 only) 禁用重用伺服器名稱和檔案字段作為額外的 dhcp-option 選項。</code>

<code># 一般情況下 dnsmasq 從 dhcp-boot 移出啟動伺服器和檔案資訊到 dhcp-option 選項中。</code>

<code># 這使得在 dhcp-option 選項封包中有額外的選項空間可用,但是會使老的用戶端混淆。</code>

<code># 此選項将強制使用簡單并安全的方式來避免此類情況。可以認為是一個相容性選項。</code>

<code>#dhcp-no-override</code>

<code># 配置 DHCP 中繼。</code>

<code># &lt;local address&gt; 是運作 dnsmasq 的接口的 IP 位址。</code>

<code># 所有在 &lt;local address&gt; 接口上接收到的 DHCP 請求将中繼到 &lt;server address&gt; 指定的遠端 DHCP 伺服器。</code>

<code># 可以多次配置此選項,使用同一個 &lt;local address&gt; 轉發到多個不同的 &lt;server address&gt; 指定的遠端 DHCP 伺服器。</code>

<code># &lt;server address&gt; 僅允許使用 IP 位址,不能使用域名等其他格式。</code>

<code># 如果是 DHCPv6,&lt;server address&gt; 可以是 ALL_SERVERS 的多點傳播位址 ff05::1:3 。</code>

<code># 在這種情況下必須指定接口 &lt;interface&gt; ,不能使用通配符,用于直接多點傳播到對應的 DHCP 伺服器所在的接口。</code>

<code># &lt;interface&gt; 指定了僅允許接收從 &lt;interface&gt; 接口的 DHCP 伺服器相應資訊。</code>

<code>#dhcp-relay=&lt;local address&gt;,&lt;server address&gt;[,&lt;interface&gt;]</code>

<code># 設定标簽</code>

<code>#dhcp-vendorclass=set:&lt;tag&gt;,[enterprise:&lt;IANA-enterprise number&gt;,]&lt;vendor-class&gt;</code>

<code>#dhcp-userclass=set:&lt;tag&gt;,&lt;user-class&gt;</code>

<code>#dhcp-mac=set:&lt;tag&gt;,&lt;MAC address&gt;</code>

<code>#dhcp-circuitid=set:&lt;tag&gt;,&lt;circuit-id&gt;</code>

<code>#dhcp-remoteid=set:&lt;tag&gt;,&lt;remote-id&gt;</code>

<code>#dhcp-subscrid=set:&lt;tag&gt;,&lt;subscriber-id&gt;</code>

<code>#dhcp-match=set:&lt;tag&gt;,&lt;option number&gt;|option:&lt;option name&gt;|vi-encap:&lt;enterprise&gt;[,&lt;value&gt;]</code>

<code>#tag-if=set:&lt;tag&gt;[,set:&lt;tag&gt;[,tag:&lt;tag&gt;[,tag:&lt;tag&gt;]]]</code>

<code>#dhcp-proxy[=&lt;ip addr&gt;]......</code>

<code># 不配置設定比對這些 tag:&lt;tag&gt; 的 DHCP 請求。</code>

<code>#dhcp-ignore=tag:&lt;tag&gt;[,tag:&lt;tag&gt;]</code>

<code>#dhcp-ignore-names[=tag:&lt;tag&gt;[,tag:&lt;tag&gt;]]</code>

<code>#dhcp-generate-names=tag:&lt;tag&gt;[,tag:&lt;tag&gt;]</code>

<code># IPv4 only 使用廣播與比對 tag:&lt;tag&gt; 的用戶端通信。一般用于相容老的 BOOT 用戶端。</code>

<code>#dhcp-broadcast[=tag:&lt;tag&gt;[,tag:&lt;tag&gt;]] </code>

<code># IPv4 only 設定 DHCP 伺服器傳回的 BOOTP 選項,</code>

<code># &lt;servername&gt; &lt;server address&gt; 可選,</code>

<code># 如果未設定伺服器名稱将設為空,伺服器位址設為 dnsmasq 的 IP 位址。</code>

<code># 如果指定 &lt;tftp_servername&gt; 将按照 /etc/hosts 中對應的 IP 位址進行輪詢負載均衡。  </code>

<code>#dhcp-boot=[tag:&lt;tag&gt;,]&lt;filename&gt;,[&lt;servername&gt;[,&lt;server address&gt;|&lt;tftp_servername&gt;]]</code>

<code># 根據不同的類型使用不同的選項。</code>

<code># 使用示例:</code>

<code>#        dhcp-match=set:EFI_x86-64,option:client-arch,9</code>

<code>#        dhcp-boot=tag:EFI_x86-64,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:EFI_Xscale,option:client-arch,8</code>

<code>#        #dhcp-boot=tag:EFI_Xscale,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:EFI_BC,option:client-arch,7</code>

<code>#        #dhcp-boot=tag:EFI_BC,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:EFI_IA32,option:client-arch,6</code>

<code>#        #dhcp-boot=tag:EFI_IA32,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:Intel_Lean_Client,option:client-arch,5</code>

<code>#        #dhcp-boot=tag:Intel_Lean_Client,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:Arc_x86,option:client-arch,4</code>

<code>#        #dhcp-boot=tag:Arc_x86,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:DEC_Alpha,option:client-arch,3</code>

<code>#        #dhcp-boot=tag:DEC_Alpha,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:EFI_Itanium,option:client-arch,2</code>

<code>#        #dhcp-boot=tag:EFI_Itanium,uefi/grubx64.efi</code>

<code>#        #dhcp-match=set:NEC/PC98,option:client-arch,1</code>

<code>#        #dhcp-boot=tag:NEC/PC98,uefi/grubx64.efi</code>

<code>#        dhcp-match=set:Intel_x86PC,option:client-arch,0</code>

<code>#        dhcp-boot=tag:Intel_x86PC,pxelinux.0</code>

<code># DHCP 使用用戶端的 MAC 位址的哈希值為用戶端配置設定 IP 位址,</code>

<code># 通常情況下即使用戶端使自己的租約到期,用戶端的 IP 位址仍将長期保持穩定。</code>

<code># 在預設模式下,IP 位址是随機配置設定的。</code>

<code># 啟用 dhcp-sequential-ip 選項将按順序配置設定 IP 位址。</code>

<code># 在順序配置設定模式下,用戶端使租約到期更像是僅僅移動一下 IP 位址。</code>

<code># 在通常情況下不建議使用這種方式。</code>

<code>#dhcp-sequential-ip</code>

<code># 多數情況下我們使用 PXE,隻是簡單的允許 PXE 用戶端擷取 IP 位址,</code>

<code># 然後 PXE 用戶端下載下傳 dhcp-boot 選項指定的檔案并執行,也就是 BOOTP 的方式。</code>

<code># 然而在有适當配置的 DHCP 伺服器支援的情況下,PXE 系統能夠實作更複雜的功能。</code>

<code># pxe-service 選項可指定 PXE 環境的啟動菜單。</code>

<code># 為不同的類型系統設定不同的啟動菜單,并且覆寫 dhcp-boot 選項。</code>

<code># &lt;CSA&gt; 為用戶端系統類型:x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, </code>

<code># IA32_EFI, X86-64_EFI, Xscale_EFI, BC_EFI, ARM32_EFI 和 ARM64_EFI,其他類型可能為一個整數。</code>

<code># &lt;basename&gt; 引導 PXE 用戶端使用 tftp 從 &lt;server address&gt; 或者 &lt;server_name&gt; 下載下傳檔案。</code>

<code>#     注意:"layer" 字尾 (通常是 ".0") 由 PXE 提供,也就是 PXE 用戶端預設在檔案名附加 .0 字尾。</code>

<code>#     示例:pxe-service=x86PC, "Install Linux", pxelinux         (讀取 pxelinux.0 檔案并執行)</code>

<code>#           pxe-service=x86PC, "Install Linux", pxelinux, 1.2.3.4(不适用于老的PXE)</code>

<code>#     &lt;bootservicetype&gt; 整數,PXE 用戶端将通過廣播或者通過 &lt;server address&gt; </code>

<code>#           或者 &lt;server_name&gt; 搜尋對應類型的适合的啟動服務。。</code>

<code>#     示例:pxe-service=x86PC, "Install windows from RIS server", 1</code>

<code>#           pxe-service=x86PC, "Install windows from RIS server", 1, 1.2.3.4</code>

<code>#     未指定 &lt;basename&gt;、&lt;bootservicetype&gt; 或者 &lt;bootservicetype&gt; 為 “0”,将從本地啟動。</code>

<code>#     示例:pxe-service=x86PC, "Boot from local disk"</code>

<code>#           pxe-service=x86PC, "Boot from local disk", 0</code>

<code># 如果指定 &lt;server_name&gt; 将按照 /etc/hosts 中對應的 IP 位址進行輪詢負載均衡。  </code>

<code>#pxe-service=[tag:&lt;tag&gt;,]&lt;CSA&gt;,&lt;menu text&gt;[,&lt;basename&gt;|&lt;bootservicetype&gt;][,&lt;server address&gt;|&lt;server_name&gt;]</code>

<code># 在 PXE 啟動後彈出提示,&lt;prompt&gt; 為提示内容,&lt;timeout&gt; 為逾時時間,為 0 則立即執行。</code>

<code># 如果未指定此選項,在有多個啟動選項的情況下等待使用者選擇,不會逾時。</code>

<code>#pxe-prompt=[tag:&lt;tag&gt;,]&lt;prompt&gt;[,&lt;timeout&gt;]</code>

<code># 根據不同的類型使用不同的菜單,使用示例:</code>

<code>#        #pxe-prompt="What system shall I netboot?", 120</code>

<code>#        # or with timeout before first available action is taken:</code>

<code>#        pxe-prompt="Press F8 or Enter key for menu.", 60</code>

<code>#        pxe-service=x86PC, "Now in x86PC (BIOS mode), boot from local", 0</code>

<code>#        pxe-service=x86PC, "Now in x86PC (BIOS mode)", pxelinux</code>

<code>#        pxe-service=PC98, "Now in PC98 mode", PC98</code>

<code>#        pxe-service=IA64_EFI, "Now in IA64_EFI mode", IA64_EFI</code>

<code>#        pxe-service=Alpha, "Now in Alpha mode", Alpha</code>

<code>#        pxe-service=Arc_x86, "Now in Arc_x86 mode", Arc_x86</code>

<code>#        pxe-service=Intel_Lean_Client, "Now in Intel_Lean_Client mode", Intel_Lean_Client</code>

<code>#        pxe-service=IA32_EFI, "Now in IA32_EFI mode", IA32_EFI</code>

<code>#        pxe-service=X86-64_EFI, "Now in X86-64_EFI (UEFI mode), boot from local", 0</code>

<code>#        pxe-service=X86-64_EFI, "Now in X86-64_EFI (UEFI mode)", grub/grub-x86_64.efi</code>

<code>#        pxe-service=Xscale_EFI, "Now in Xscale_EFI mode", Xscale_EFI</code>

<code>#        pxe-service=BC_EFI, "Now in BC_EFI mode", BC_EFI</code>

<code>#        # CentOS7 系統不支援下列兩個選項</code>

<code>#        #pxe-service=ARM32_EFI,"Now in ARM32_EFI mode",ARM32_EFI</code>

<code>#        #pxe-service=ARM64_EFI,"Now in ARM64_EFI mode",ARM64_EFI</code>

<code># 預設為150,即最多配置設定150個ip位址出去,最大1000個ip</code>

<code>#dhcp-lease-max=150</code>

<code># (IPv4 only) 指定DHCP端口,預設為67和68。如果不指定則為1067和1068,單指定一個,第二個加1</code>

<code>#dhcp-alternate-port[=&lt;server port&gt;[,&lt;client port&gt;]]</code>

<code># 謹慎使用此選項,避免 IP 位址浪費。(IPv4 only) 允許動态配置設定 IP 位址給 BOOTP 用戶端。</code>

<code># 注意:BOOTP 用戶端擷取的 IP 位址是永久的,将無法再次配置設定給其他用戶端。</code>

<code>#bootp-dynamic[=&lt;network-id&gt;[,&lt;network-id&gt;]]</code>

<code># 謹慎使用此選項。</code>

<code># 預設情況下 DHCP 伺服器使用 ping 的方式進行確定 IP 未被使用的情況下将 IP 位址配置設定出去。</code>

<code># 啟用此選項将不使用 ping 進行确認。</code>

<code>#no-ping</code>

<code># 記錄額外的 dhcp 日志,記錄所有發送給 DHCP 用戶端的選項(option)以及标簽(tag)資訊</code>

<code>#log-dhcp</code>

<code># 禁止記錄日常記錄檔,錯誤日志仍然記錄。啟用 log-dhcp 将覆寫下列選項。</code>

<code>#quiet-dhcp</code>

<code>#quiet-dhcp6</code>

<code>#quiet-ra</code>

<code># 修改 DHCP 預設租約檔案路徑,預設情況下無需修改</code>

<code>#dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases</code>

<code># (IPv6 only)</code>

<code>#dhcp-duid=&lt;enterprise-id&gt;,&lt;uid&gt;</code>

<code>#dhcp-script=&lt;path&gt;</code>

<code>#dhcp-luascript=&lt;path&gt;</code>

<code>#dhcp-scriptuser=root</code>

<code>#script-arp</code>

<code>#leasefile-ro</code>

<code>#bridge-interface=&lt;interface&gt;,&lt;alias&gt;[,&lt;alias&gt;]</code>

<code># 給 DHCP 伺服器指定 domain 域名資訊,也可以給對應的 IP 位址池指定域名。</code>

<code>#     直接指定域名</code>

<code>#     示例:domain=thekelleys.org.uk</code>

<code>#     子網對應的域名</code>

<code>#     示例:domain=wireless.thekelleys.org.uk,192.168.2.0/24</code>

<code>#     ip範圍對應的域名</code>

<code>#     示例:domain=reserved.thekelleys.org.uk,192.68.3.100,192.168.3.200</code>

<code>#domain=&lt;domain&gt;[,&lt;address range&gt;[,local]]</code>

<code># 在預設情況下 dnsmasq 插入普通的用戶端主機名到 DNS 中。</code>

<code># 在這種情況下主機名必須唯一,即使兩個用戶端具有不同的域名字尾。</code>

<code># 如果第二個用戶端使用了相同的主機名,DNS 查詢将自動更新為第二個用戶端的 IP 位址。</code>

<code># 如果設定了 dhcp-fqdn 選項,普通的主機名将不再插入到 DNS 中去,</code>

<code># 僅允許合格的具有域名字尾的主機名插入到 DNS 伺服器中。</code>

<code># 指定此選項需同時指定不含 &lt;address range&gt; 位址範圍的 domain 選項。</code>

<code>#dhcp-fqdn</code>

<code># 通常情況下配置設定 DHCP 租約後,dnsmasq 設定 FQDN 選項告訴用戶端不要嘗試 DDNS 更新主機名與 IP 位址。</code>

<code># 這是因為  name-IP 已自動添加到 dnsmasq 的 DNS 視圖中的。</code>

<code># 設定此選項将允許用戶端 DDNS 更新,</code>

<code># 在 windows 下允許用戶端更新 windows AD 伺服器是非常有用的。</code>

<code># 參看  RFC 4702 。</code>

<code>#dhcp-client-update</code>

<code>#enable-ra</code>

<code>#ra-param=&lt;interface&gt;,[high|low],[[&lt;ra-interval&gt;],&lt;router lifetime&gt;]</code>

<code>#        TFTP 選項</code>

<code># 對于絕大多數的配置,僅需指定 enable-tftp 和 tftp-root 選項即可。</code>

<code># 是否啟用内置的 tftp 伺服器,可以指定多個逗号分隔的網絡接口</code>

<code>#enable-tftp[=&lt;interface&gt;[,&lt;interface&gt;]]</code>

<code>#enable-tftp</code>

<code>#enable-tftp=enp3s0,lo</code>

<code># 指定 tftp 的根目錄,也就是尋找傳輸檔案時使用的相對路徑,可以附加接口,</code>

<code>#tftp-root=&lt;directory&gt;[,&lt;interface&gt;]</code>

<code>#tftp-root=/var/lib/tftpboot/</code>

<code># 如果取消注釋,那麼即使指定的 tftp-root 無法通路,仍然啟動 tftp 服務。</code>

<code>#tftp-no-fail</code>

<code># 附加用戶端的 IP 位址作為檔案路徑。此選項僅在正确設定了 tftp-root 的情況下可用,</code>

<code># 示例:如果 tftp-root=/tftp,用戶端為 192.168.1.15 請求 myfile.txt 檔案時,</code>

<code># 将優先請求 /tftp/192.168.1.15/myfile.txt 檔案, 其次是 /tftp/myfile.txt 檔案。</code>

<code># 感覺沒什麼用。</code>

<code>#tftp-unique-root</code>

<code># 啟用安全模式,啟用此選項,僅允許 tftp 程序通路屬主為自己的檔案。</code>

<code># 不啟用此選項,允許通路所有 tftp 程序屬主可讀取的檔案。</code>

<code># 如果 dnsmasq 是以 root 使用者運作,tftp-secure 選項将允許通路全局可讀的檔案。</code>

<code># 一般情況下不推薦以 root 使用者運作 dnsmasq。</code>

<code># 在指定了 tftp-root 的情況下并不是很重要。</code>

<code>#tftp-secure</code>

<code># 将所有檔案請求轉換為小寫。對于 Windows 用戶端來說非常有用,建議開啟此項。</code>

<code># 注意:dnsmasq 的 TFTP 伺服器總是将檔案路徑中的“\”轉換為“/”。</code>

<code>#tftp-lowercase</code>

<code># 允許最大的連接配接數,預設為 50 。</code>

<code># 如果将連接配接數設定的很大,需注意每個程序的最大檔案描述符限制,詳見文檔手冊。</code>

<code>#tftp-max=&lt;connections&gt;</code>

<code>#tftp-max=50</code>

<code># 設定傳輸時的 MTU 值,建議不設定或按需設定。</code>

<code># 如果設定的值大于網絡接口的 MTU 值,将按照網絡接口的 MTU 值自動分片傳輸(不推薦)。</code>

<code>#tftp-mtu=&lt;mtu size&gt;</code>

<code># 停止 tftp 伺服器與用戶端協商 "blocksize" 選項。啟用後,防止一些古怪的用戶端出問題。</code>

<code>#tftp-no-blocksize</code>

<code># 指定 tftp 的連接配接端口的範圍,友善防火牆部署。</code>

<code># tftp 偵聽在 69/udp ,連接配接端口預設是由系統自動配置設定的,</code>

<code># 非 root 使用者運作時指定的連接配接端口号需大于 1025 最大 65535。</code>

<code>#tftp-port-range=&lt;start&gt;,&lt;end&gt;</code>

<code>###############################################################################</code>

<code>#conf-dir=&lt;directory&gt;[,&lt;file-extension&gt;......]</code>

<code>#conf-file=/etc/dnsmasq.more.conf</code>

<code>conf-</code><code>dir</code><code>=</code><code>/etc/dnsmasq</code><code>.d</code>

<code>#servers-file=&lt;file&gt;</code>

<code></code>

本文轉自 曾哥最愛 51CTO部落格,原文連結:http://blog.51cto.com/zengestudy/1916725,如需轉載請自行聯系原作者

繼續閱讀