Compare commits

..

4 Commits

2 changed files with 61 additions and 3 deletions
+60 -2
View File
@@ -2,9 +2,19 @@
This is an openwrt feed that contains definitions to include CoreDNS software into your OpenWRT build. This is an openwrt feed that contains definitions to include CoreDNS software into your OpenWRT build.
## how to add the feed into your build ## install from a binary
> see for details: https://openwrt.org/docs/guide-developer/feeds ### 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: 1. open your feeds.conf.default and add the following line:
@@ -17,3 +27,51 @@ This is an openwrt feed that contains definitions to include CoreDNS software in
3. install coredns packages into your build: 3. install coredns packages into your build:
`./scripts/feeds install -a -p feed_coredns` `./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.
+1 -1
View File
@@ -42,7 +42,7 @@ define Package/coredns/install
$(INSTALL_BIN) ./files/coredns.init $(1)/etc/init.d/coredns $(INSTALL_BIN) ./files/coredns.init $(1)/etc/init.d/coredns
$(INSTALL_DIR) $(1)/etc/config $(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) ./files/coredns.config $(1)/etc/config/coredns $(INSTALL_CONF) ./files/coredns.conf $(1)/etc/config/coredns
$(INSTALL_DIR) $(1)/etc/coredns $(INSTALL_DIR) $(1)/etc/coredns
$(INSTALL_CONF) ./files/Corefile $(1)/etc/coredns/Corefile $(INSTALL_CONF) ./files/Corefile $(1)/etc/coredns/Corefile