Opened 12 years ago
Closed 12 years ago
Last modified 12 years ago
#10288 closed Patch - Bug Fix (Won't Fix)
FE Won't Connect to BE in 0.25pre if bindv6only = 1
Reported by: | Owned by: | beirdo | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
If a user upgrades to 0.25{pre}, and their distribution sets bindv6only = 1, their frontends (combined or remote) will not connect to their backend.
1st, thanks to Ian Clark (mrrooster) and Erich (mepisrocks) for their help in diagnosing this. Their Debian and Mepis systems (respectively) were failing and had bindb6only = 1.
Users can check their system by typing:
sysctl -a 2>/dev/null | grep bindv6only
To duplicate:
On a master backend: Run 0.25pre Verify that IPv4 addresses are set for the ...ServerIPs Add /etc/sysctl.d/mythtv-bind-test.conf Put: net.ipv6.bindv6only = 1 in that file Reboot Start a mythfrontend running
The FE will get the "Could not connect to the master backend server." pop up.
Solution 1 (probably correct, easily overlooked):
Users / Distributions should not set bindv6only = 1. Note: #9820, #9840 and #10165 as well as posts on the -users list say this is already a problem.
Most likely solved by searching for bindv6only in files under /etc/sysctl.d and removing it, commenting it out or setting it to 0.
Solution 2 (delay the problem):
Tested under v0.25pre-4146-g633370e.
The attached patch will prevent binding to IPv6 as long as the user hasn't configured any IPv6 routable addresses on their system. It does this by ignoring Host (::1) and Link Local (fe80::) addresses that are automatically configured by the system.
If/when a user adds a Global IPv6 address, the FE will not connect if bindv6only = 1.
Solution 3 (bindv6only check/error message)
Included in the patch (in the #ifdef at the end) is a test of the bindv6only setting. I used the /proc/sys interface only because in the ubuntu man pages it says sysctl(2) may go away.
Attachments (1)
Change History (6)
Changed 12 years ago by
Attachment: | ignore-and-check-v6only.patch added |
---|
comment:1 follow-up: 2 Changed 12 years ago by
Status: | new → infoneeded_new |
---|---|
Type: | Patch - Feature → Patch - Bug Fix |
comment:2 Changed 12 years ago by
Replying to wagnerrp:
No (unfortunately,) this won't help that. I had picked Feature because MythTV isn't doing anything wrong. Mark's schedule prompted me to get this out in hopes of preventing problems for some folks upgrading to 0.25.
comment:3 Changed 12 years ago by
Owner: | set to beirdo |
---|---|
Status: | infoneeded_new → assigned |
comment:4 Changed 12 years ago by
Resolution: | → Won't Fix |
---|---|
Status: | assigned → closed |
I would like to posit that this is a setup issue. If you set it to ipv6-only, you had better make sure that all IPs for the master backend (and the local backend setup on every backend) are set to the IPv6 address.
I don't like the idea of preventing binding on any IPv6 configured address. It is perfectly acceptable to use the FE80:: addresses for the communication between frontend and backend.
comment:5 Changed 12 years ago by
Alter various listen servers to bind to discrete addresses.
Refs #10288
Branch: master
Changeset: 37385baff83eea77116d13e22be96b74cfde2cec
Did you intend to post this to #10259?