mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #3078] [Feature Request] Prefer IPv6/AAAA for DNS resolution. #2465
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#2465
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @fernvenue on GitHub (Aug 28, 2022).
Original GitHub issue: https://github.com/fatedier/frp/issues/3078
Describe the feature request
Hi, I'm using frp for HTTP/HTTPS reverse proxy, and I just found out that when I use a domain name instead of IP address in
local_ip, frp will always request A type first, please tell me how can I prefer IPv6 in frp? If we can't, could you please add a feature likeprefer_ipv6ordisable_ipv4for each proxy connection, so we can make frp use IPv6 first?Describe alternatives you've considered
Actually I have tried to use a IPv6 only address like
ipv6.icanhazip.com, but unfortunately, frp will still request A type first, and sometime frp will get i/o time out when DNS server return nothing for A type request :(Affected area
@fernvenue commented on GitHub (Aug 28, 2022):
By the way, here's another problem, does frp have cache for DNS?
My DNS server got 166000+ requests from frp just in 7 days, I don't know why frp need this, send requests for every connection is a terrible idea I think, can't we use cache? Or maybe send request only when TTL expired or target address doesn't respond will be better.
@fatedier commented on GitHub (Aug 28, 2022):
frp uses golang standard net package to do dns resolve. The behavior is same with most other golang programs.
If you want to control your dns resolver, maybe you can try to use some local dns resolver to optimize.
@github-actions[bot] commented on GitHub (Sep 28, 2022):
Issues go stale after 30d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.