# Page Not Found

The URL `di-2-zhang-an-zhuang-freebsd/di-2.1-install-pre` does not exist. This page may have been moved, renamed, or deleted.

## Suggested Pages

You may be looking for one of the following:
- [29.2 ipfirewall（IPFW）](https://book.bsdcn.org/di-29-zhang-fang-huo-qiang/di-29.2-jie-ipfirewall-ipfw.md)
- [22.2 网桥](https://book.bsdcn.org/di-22-zhang-gao-ji-wang-luo/di-22.2-jie-wang-qiao.md)
- [28.1 安全事件审计](https://book.bsdcn.org/di-28-zhang-an-quan-shen-ji/di-28.1-jie-an-quan-shi-jian-shen-ji.md)
- [27.5 OpenSSL](https://book.bsdcn.org/di-27-zhang-an-quan/di-27.5-jie-openssl.md)
- [12.1 Wayland 概论](https://book.bsdcn.org/di-12-zhang-wayland-xi-tong/di-12.1-jie-wayland-gai-lun.md)

## How to find the correct page

If the exact page cannot be found, you can still retrieve the information using the documentation query interface.

### Option 1 — Ask a question (recommended)

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://book.bsdcn.org/di-29-zhang-fang-huo-qiang/di-29.2-jie-ipfirewall-ipfw.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

### Option 2 — Browse the documentation index

Full index: https://book.bsdcn.org/sitemap.md

Use this to discover valid page paths or navigate the documentation structure.

### Option 3 — Retrieve the full documentation corpus

Full export: https://book.bsdcn.org/llms-full.txt

Use this to access all content at once and perform your own parsing or retrieval. It will be more expensive.

## Tips for requesting documentation

Prefer `.md` URLs for structured content, append `.md` to URLs (e.g., `/di-29-zhang-fang-huo-qiang/di-29.2-jie-ipfirewall-ipfw.md`).

You may also use `Accept: text/markdown` header for content negotiation.
