You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.4 KiB
77 lines
2.4 KiB
# openwrt-feed-coredns
|
|
|
|
This is an openwrt feed that contains definitions to include CoreDNS software into your OpenWRT build.
|
|
|
|
## install from a binary
|
|
|
|
### by using terminal
|
|
1. download an ipk file from the releases page https://code.tokarch.uk/mainnika/openwrt-feed-coredns/releases
|
|
2. put the file to the device, e.g. path `/tmp/coredns.ipk` use scp -- `scp coredns_1.8.6-1_arm_cortex-a7_neon-vfpv4.ipk root@[openwrt-ip]:/tmp/coredns.ipk`
|
|
2. use opkg to install the downloaded file, e.g. `opkg install /tmp/coredns.ipk`
|
|
|
|
### by using luci
|
|
1. download an ipk file from the releases page https://code.tokarch.uk/mainnika/openwrt-feed-coredns/releases
|
|
2. open luci admin gui and go `System` → `Software`
|
|
3. use `Upload Package` buttom to upload local release file
|
|
|
|
## how to add the feed into your build
|
|
|
|
1. open your feeds.conf.default and add the following line:
|
|
|
|
`src-git feed_coredns https://code.tokarch.uk/mainnika/openwrt-feed-coredns.git`
|
|
|
|
2. run update script:
|
|
|
|
`./scripts/feeds update feed_coredns`
|
|
|
|
3. install coredns packages into your build:
|
|
|
|
`./scripts/feeds install -a -p feed_coredns`
|
|
|
|
> see for details: https://openwrt.org/docs/guide-developer/feeds
|
|
|
|
## service init
|
|
|
|
The package setups an init script `/etc/init.d/coredns` and uci config section:
|
|
|
|
```
|
|
config coredns 'main'
|
|
option port '53'
|
|
option config '/etc/coredns/Corefile'
|
|
```
|
|
|
|
There are two options defined:
|
|
- port, default: 53 -- a port where coredns will listen for connections
|
|
- config, default: /etc/coredns/Corefile -- a Corefile config file
|
|
|
|
> Use `uci` tool to change these values, e.g.: `uci set coredns.main.port=1053'
|
|
|
|
## coredns configuration
|
|
|
|
The package provides an empty config `Corefile` located at `/etc/coredns/Corefile`.
|
|
The empty `Corefile`:
|
|
|
|
```
|
|
. { }
|
|
```
|
|
|
|
To configure the coredns instance properly set Corefile with your content.
|
|
|
|
## use cases
|
|
|
|
### openwrt hardware as the external dns resolver
|
|
|
|
> I assume that in this setup openwrt act as a dhcp client (not a server).
|
|
> You can set lan network as a dhcp client by using these uci values (use `uci commit` to apply):
|
|
> ```
|
|
> uci del network.lan.ipaddr
|
|
> uci del network.lan.netmask
|
|
> uci del network.lan.ip6assign
|
|
> uci set network.lan.proto='dhcp'
|
|
> ```
|
|
|
|
the main goal is to replace `dnsmasq` with `coredns` because they share the same port `53`.
|
|
|
|
1. go `System` → `Startup`, disable and stop `dnsmasq`
|
|
2. enable and start `coredns`
|
|
3. now coredns acts as a default resolver and listen all interfaces by default.
|
|
|