golangで以下のようなコードを書いて、

package main

import "fmt"

func main() {
    fmt.Println("hello")
}

debian上で
export GOOS=linux
export GOARCH=mipsle
export GOMIPS=softfloat
go build -a hello.go
としてできたバイナリを手持ちのルータで実行することができました。

HTTPのgetがしたかったので以下のようなコードを書いて

package main
import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)
func main() {
    fmt.Println("hello")
    url := "http://example.com/"
    resp, err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer resp.Body.Close()
    byteArray, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(byteArray))
}

同様にbuildしてルータ上で実行したところ以下のエラーがでました。

hello
2018/03/16 05:07:25 Get http://example.com/: dial tcp: lookup example.com on 
202.215.242.209:53: dial udp 202.215.242.209:53: errno -89

多少ググったのですが、エラーの原因がさっぱり分からないので、ご存知のかた教えてください。

追記1:DNSに8.8.8.8設定すると以下のようにエラーメッセージが変わりました。

hello
2018/03/16 06:51:01 Get http://example.com/: dial tcp: lookup example.com on 
8.8.8.8:53: dial udp 8.8.8.8:53: errno -89

追記2:ルーター上でiptable -Lを実行してみました。結果の見方が分かりませんが。

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
malicious_input_filter  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
web_filter  all  --  anywhere             anywhere
macipport_filter  all  --  anywhere             anywhere
malicious_filter  all  --  anywhere             anywhere
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain macipport_filter (1 references)
target     prot opt source               destination

Chain malicious_filter (1 references)
target     prot opt source               destination
synflood_filter  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN

Chain malicious_input_filter (1 references)
target     prot opt source               destination
synflood_input_filter  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
DROP       tcp  --  anywhere             anywhere            tcp dpt:80
DROP       tcp  --  anywhere             anywhere            tcp dpt:443
DROP       icmp --  anywhere             anywhere            icmp echo-request
DROP       tcp  --  anywhere             anywhere            tcp dpt:53
DROP       udp  --  anywhere             anywhere            udp dpt:53

Chain synflood_filter (1 references)
target     prot opt source               destination

Chain synflood_input_filter (1 references)
target     prot opt source               destination

Chain web_filter (1 references)
target     prot opt source               destination

追記3:iptable -flushしてみましたが、serviceコマンドが使えなくて再起動できないのですが
iptables -Lの結果は以下のようになりました。

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Chain macipport_filter (0 references)
target     prot opt source               destination
Chain malicious_filter (0 references)
target     prot opt source               destination
Chain malicious_input_filter (0 references)
target     prot opt source               destination
Chain synflood_filter (0 references)
target     prot opt source               destination
Chain synflood_input_filter (0 references)
target     prot opt source               destination
Chain web_filter (0 references)
target     prot opt source               destination

しかしプログラムの実行結果は変わりませんでした。

hello
2018/03/16 06:51:01 Get http://example.com/: dial tcp: lookup example.com on 
8.8.8.8:53: dial udp 8.8.8.8:53: errno -89