jenkins无法通过ip地址连接
我通过jenkins无法通过ip地址连接,jenkins,Jenkins,我通过yum安装jenkins在centOS 7上安装jenkins,并启动jenkins服务jenkins start 现在我可以通过localhost和127.0.0.1访问它,但我不能通过ip访问它(比如:192.168.1.77) 防火墙关闭了 jeakins配置是默认的 詹金斯版本:v2.64 netstat-nltpresult:(我现在使用端口:8088) ifconfig结果: enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAS
yum安装jenkins
在centOS 7上安装jenkins,并启动jenkins服务jenkins start
现在我可以通过localhost
和127.0.0.1
访问它,但我不能通过ip访问它(比如:192.168.1.77)
netstat-nltp
result:(我现在使用端口:8088)
ifconfig
结果:
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.99 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::a62:66ff:fe9e:fba3 prefixlen 64 scopeid 0x20<link>
ether 08:62:66:9e:fb:a3 txqueuelen 1000 (Ethernet)
RX packets 501018 bytes 502734098 (479.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 167889 bytes 16471815 (15.7 MiB)
TX errors 14 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 11265076 bytes 8998994558 (8.3 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11265076 bytes 8998994558 (8.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:e3:8b:e1 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
所以我认为防火墙关闭了。事实上,CentOS 7使用防火墙命令--state
结果是正在运行
在运行了iptables-F
之后,我不知道为什么,但它现在可以工作了。这不是一个好办法 从您的netstat
输出中可以看出,这是一个IpV6绑定问题,因为Jenkins的Java进程只侦听IpV6:
tcp6 0 0 :::8088 :::* LISTEN 886/java
而且似乎你的ISP没有通过IpV6地址让你出去,这就是为什么你不能访问Jenkins。您可以在sysconfig文件中配置Java默认值,在我的场景中,我使用的是CentOS 7,因此我在/etc/sysconfig/jenkins
中修改了这一行:
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
然后systemctl重新启动jenkins
,现在它正在侦听IPv4:
[root@jenkins ~]# netstat -lntup | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1300/java
多亏了。你尝试使用不同的端口了吗?@user7294900我尝试8088也失败了netstat-nltp在那台机器上的输出是什么?请通过编辑将其添加到您的问题中。@StephenKing tks如需评论,我现在添加netstat结果虚拟机的IP地址是192.168.122.1
,对吗?给定输出,Jenkins将侦听所有接口(::8080
),因此如果您访问正确的IP,应该可以访问它。也可以从VM内部尝试。使用IP addr
验证IP地址。
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
[root@jenkins ~]# netstat -lntup | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1300/java