找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 56|回复: 8

求iptables规则 : 拦截8.8.8.8的dns查询 使用本地dns查询

[复制链接]

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
发表于 2018-3-8 21:22:14 | 显示全部楼层 |阅读模式
你添加一条路由试试:
ip route add local 2.8.8.8 dev lo
回复

使用道具 举报

71

主题

1602

回帖

3493

积分

论坛元老

积分
3493
发表于 2018-3-9 21:06:31 | 显示全部楼层
iptables -t nat -A OUTPUT -p udp -d 8.8.8.8 --dport 53 -j DNAT --to-destination 223.6.6.6:53

(没测试)
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-9 22:01:00 | 显示全部楼层
iptables -t nat -A OUTPUT -p udp -d 8.8.8.8 --dport 53 -j DNAT --to 127.0.0.1:53
还有记得修改 unbound 的访问控制规则
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-8 21:27:48 | 显示全部楼层
那你直接用dnsmasq吧。
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2018-3-8 21:31:46 | 显示全部楼层

suzizi 发表于 2018-3-8 21:57

有没有办法不装这些,直接调用系统dns。。。

我是不是太懒了


那就配个 IPv4 Over IPv6  的 Tunnel 吧。你那么多JJ,总有一台是双栈的吧。iptables -t nat -A OUTPUT -p udp -d 8.8.8.8 --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A INPUT -p udp --sport 53 -j SNAT --to 8.8.8.8
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-8 21:37:22 | 显示全部楼层
dnsmasq 听的地址是啥? netstat -nlup 看看。
实在不行就把 2.8.8.8 配成网卡IP
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-8 21:43:55 | 显示全部楼层
你添加一条路由试试:
ip route add local 2.8.8.8 dev lo
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-8 21:50:17 | 显示全部楼层

suzizi 发表于 2018-3-9 21:12

1.我突然想起ss可以指定dns(虽然不能指定v6的dns),于是投机取巧直接指定127.0.0.1,于是我的问题解决 ...

因为本地发送UDP报文时,需要按照路由表查到一个合适的本地IP。但是你没有配置合适的路由,所以根本找不到合适的源IP,所以报文根本发送不出去。这个命令只是给目标IP加一条合适的路由,至于路由类型是什么并不重要。
回复

使用道具 举报

33

主题

949

回帖

2083

积分

金牌会员

积分
2083
 楼主| 发表于 2018-3-8 21:57:51 | 显示全部楼层

suzizi 发表于 2018-3-9 21:22

好专业,看的一脸懵逼。

“但是你没有配置合适的路由”----这句话:

只要 ip route get 2.8.8.8 能返回路由信息都可以。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-5-9 09:06 , Processed in 0.023097 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表