I've just installed Jenkins with its default configs on a Centos 7 physical box.
Port 8080 is open on the firewall:
sudo iptables -L -n
[...]
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
[...]
It also looks like Jenkins is actually listening on all interfaces:
sudo netstat -an | grep "LISTEN "
[...]
tcp6 0 0 :::8080 :::* LISTEN
[...]
I can curl localhost:8080
locally (from the Centos box) without a problem, but from anywhere else in the network I get a Connection refused
.
Am I missing something?
Best Answer
The above looks like Jenkins is defaulting to ipv6 only.
Try the following, this will probably fix your problem:
run:
$ /sbin/sysctl net.ipv6.bindv6only
You will probably get an output with value
net.ipv6.bindv6only = 1
.If this is the case, you will need to disable the setting:
sudo /sbin/sysctl net.ipv6.bindv6only=0
After the command above you will get an answer like
net.ipv6.bindv6only = 0
, restart Jenkins:sudo systemctl restart jenkins
and try to connect to Jenkins again.If this worked for you, you should put this in a sysctl config-file. Because this is not a persistent fix. After a reboot the setting you just have modified will be defaulted to 1 again.
Check
/etc/sysctl.conf
and/etc/sysctl.d/*
and addnet.ipv6.bindv6only = 0
in order to make this setting permanent and runsudo sysctl -p
or restart after changing it.