关掉jvm的ipv6功能

转载 2006年05月17日 12:07:00

1。关掉jvm的ipv6功能

jvm加以下参数:-Djava.net.preferIPv4Stack=true

 

 

Issues with JGroups and IPv6 on Linux

In a nutshell: IPv6 works with JGroups !

On Windows (XP), you have to enable IPv6 by clicking on any connection (e.g. "Local Area Connection") --> Properies --> Install --> Protocol --> IPv6. If you do ipconfig, you will see the new IPv6 addresses. By default, WinXP? seems to prefer IPv6.

On Linux, IPv6 doesn't work (see below) due to a bug in the JDKs up to and including JDK 5. Mustang (JDK 6) fixed this, and I verified that it works on RHAT fedora core 5 . So, on Linux, with SUN's VM, you *have* to use -Djava.net.preferIPv4Stack=true, until you switch to JDK 6. I haven't tried this on JRockit or IBM's VM.

 

Here is the Jira issues: http://jira.jboss.com/jira/browse/JGRP-47

IP_MULTICAST_IF:

 

java.net.SocketException: bad argument for IP_MULTICAST_IF: address not bound to any interface
        at java.net.PlainDatagramSocketImpl.socketSetOption(Native Method)
        at java.net.PlainDatagramSocketImpl.setOption(PlainDatagramSocketImpl.java:295)	

 

There was an earlier post mentioning the same symptoms. Assuming that you are running JBoss on Linux, if your Linux kernel has IPv6 support, you will have this problem. If you don't need IPv6 support, you can disable it from the kernel and the problem will go away.

 

 

 

Turn off IPv6 in the Linux kernel

 

To disable IPv6 in the kernel (or really, disable automatic loading of the IPv6 module - see here for IPv6 and Linux details for details), add the following line in your modules config file :

  alias net-pf-10 off   # disable automatically load of IPv6 module on demand

For 2.4 kernels, this would be in /etc/modules.conf or /etc/conf.modules. For 2.6 kernels, this would be in /etc/modprobe.conf or /etc/modprobe.conf.local (for SLES). You need to reboot the Linux box. I'm not sure of another way to disable this without a reboot. If you know of any, please update this page or add a link to some further docs on the subject.

 

Also, once you disable this in the kernel, you can still enable IPv6 on an interface by following these instructions (for RedHat? at least).

 

 

Turn off IPv6 in the JVM

 

Another source of problems might be the use of IPv6, and/or misconfiguration of /etc/hosts. If you communicate between an IPv4 and an IPv6 host, and they are not able to find each other, try the java.net.preferIP4Stack=true property, e.g.

java -Djava.net.preferIPv4Stack=true org.jgroups.demos.Draw

JDK 1.4.1 uses IPv6 by default, although is has a dual stack, that is, it also supports IPv4. Here's more details on the subject.

 

IPv6 and IP Bonding

Looks like turning IPv6 off also has the nice side effect that IP Bonding works (it doesn't work with IPv6 turned on). This is anecdotal (from a customer support case), and we need to verify this in the 2.3/2.4 time frame

 

 

IPv6 support

Due to a bug in the JDK on Linux, a socket cannot be bound to an IPv6 address. This is the reason why -Djava.net.preferIPv4Stack=true has to be used. This bug is supposedly fixed in Mustang (JDK 6). JGroups, starting from version 2.3, supports IPv6. The change from previous versions was mainly how we marshalled IpAddresses?.

永久禁用IPv6的方法

永久禁用IPv6的方法 #所有网卡禁用IPv6 #1、编辑/etc/sysctl.conf文件 sudo vi /etc/sysctl.conf #在文件中增加一行,内容为: net...
  • CSDN_duomaomao
  • CSDN_duomaomao
  • 2018年01月13日 11:48
  • 149

解决java网络编程IPv6问题

如果系统中开启了IPV6协议(比如window7),java网络编程经常会获取到IPv6的地址,这明显不是我们想要的结果,搜索发现很多蹩脚的做法是:禁止IPv6协议。其实查看官方文档有详细的说明: ...
  • wirelessqa
  • wirelessqa
  • 2012年11月23日 21:25
  • 9562

java获取本机的所有ip地址 包括IPV6

最近在项目中遇到了一串比较诡异的问题,如下的同一串代码是演示了如何获取本地所有的ip地址: /** * * author:gaoxingliang@outlook.com * cre...
  • scugxl
  • scugxl
  • 2015年08月20日 21:30
  • 3693

IPV6 IPV4 java 转换为数字

/** * * author:gaoxingliang@outlook.com * created:2015年8月20日 下午9:31:35 */ package blog; impo...
  • scugxl
  • scugxl
  • 2015年08月20日 22:59
  • 3215

eclipse设立禁用IPv6:Djava.net.preferIPv4Stack=true

eclipse设置禁用IPv6:-Djava.net.preferIPv4Stack=true    Window--Preferences--JAVA--Installed JREs...
  • 0210
  • 0210
  • 2017年01月03日 15:27
  • 2067

IPV6开启状态下,tomcat监听IPV4端口

今天被人问了一个“奇怪”的问题,说本地服务开启,自己能访问,别人访问不了,遇到这种问题,一般是防火墙规则导致的,所以我先建议关闭了防火墙,结果还是不能正常访问,于是又想起了mysql在开启IPV6的时...
  • ssergsw
  • ssergsw
  • 2013年11月20日 10:48
  • 28908

JVM之——生产环境jvm参数设置建议

生产环境下,jvm参数可以设置如下: -server –Xms256m –Xmx2G -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UsePar...
  • l1028386804
  • l1028386804
  • 2016年12月16日 13:13
  • 1995

Linux下关闭和开启IPv6的方法

确认IPV6是否开启 在Linux下确认IPv6是否已经被启用,可以从三个方面确定。 1.使用ifconfig查看自己的IP地址是否含有IPv6地址。 eth0 Link encap:Ether...
  • ccscu
  • ccscu
  • 2012年07月31日 14:03
  • 69695

java.net.preferIPv4Stack设置

使用了Java网络编程,涉及到ipv4和ipv6的问题,在hadoop集群中由于机器配置不一,会导致不同机器获取的机器名长短不一,从而引发一系列问题,如“hadoop或yarn集群任务数据本地化很差(...
  • wodeyuer125
  • wodeyuer125
  • 2016年01月12日 11:37
  • 7117

linux 关闭停用ipv6方法

1、修改/etc/sysconfig/network,添加以下内容: 2.修改/etc/hosts,把ipv6的那句本地主机名解析的也注释掉: #::1   localhos...
  • gnail_oug
  • gnail_oug
  • 2015年07月16日 15:34
  • 3406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关掉jvm的ipv6功能
举报原因:
原因补充:

(最多只允许输入30个字)