diff --git a/README.md b/README.md index e38dbd0..3d4873f 100644 --- a/README.md +++ b/README.md @@ -21,5 +21,6 @@ will create the symbolic link for each script in the `links_path` directory. # Index -- [local-dns](scripts/local-dns) enables Keenetic DNS for entire LAN. +- [keenetic-public-dns](scripts/keenetic-public-dns) configures public DNS servers. +- [keenetic-local-dns](scripts/keenetic-local-dns) enables Keenetic DNS for entire LAN. diff --git a/scripts/keenetic-public-dns b/scripts/keenetic-public-dns new file mode 100755 index 0000000..f623876 --- /dev/null +++ b/scripts/keenetic-public-dns @@ -0,0 +1,46 @@ +#!/usr/bin/env expect + +set timeout 2 + +set USER $env(KEENETIC_USER) +set PASS $env(KEENETIC_PASS) +set HOST $env(KEENETIC_HOST) + +set KEENETIC_PROMPT "(config)> " + +set DNS_SERVERS { + 1.1.1.1 + 8.8.8.8 + 8.8.4.4 +} + +spawn ssh $USER@$HOST; + +expect { + "Are you sure you want to continue connecting (yes/no*)?*" { + send "yes\r" + } +} + +expect "password: " +send "$PASS\r" + +foreach dns $DNS_SERVERS { + expect $KEENETIC_PROMPT + send "no ip name-server ${dns}\r" + + expect $KEENETIC_PROMPT + send "ip name-server ${dns}\r" +} + +expect $KEENETIC_PROMPT +send "show ip name-server\r" + +expect $KEENETIC_PROMPT +send "system configuration save\r" + +expect $KEENETIC_PROMPT +send "exit\r" + +expect eof +