A really strange network issue [message #45230] |
Thu, 16 February 2012 09:38  |
Choco52
Messages: 3 Registered: February 2012
|
Junior Member |
|
|
Hello,
I already search in the forum but did not find my answer. Sorry if my question has already been asked.
I'm using OpenVZ on a Debian:
On the HN :
root@milo:/home/choco52# uname -a
Linux milo 2.6.32-5-openvz-amd64 #1 SMP Mon Oct 3 05:12:50 UTC 2011 x86_64 GNU/Linux
I have one VE (CTID = 101) :
root@localhost:/# uname -a
Linux localhost 2.6.32-5-openvz-amd64 #1 SMP Mon Oct 3 05:12:50 UTC 2011 x86_64 GNU/Linux
On 101:
root@localhost:/# ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
By the way , i don't really understand this command [if you can explain, could be great =) ).
On 101 :
root@localhost:/# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:696 (696.0 B) TX bytes:696 (696.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.1 P-t-P:127.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2736 (2.6 KiB) TX bytes:1070 (1.0 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.210.101 P-t-P:192.168.210.101 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
On 101 :
root@localhost:/# sysctl -a | grep venet0
error: permission denied on key 'net.ipv4.route.flush'
error: permission denied on key 'net.ipv4.route.flush'
net.ipv4.neigh.venet0.mcast_solicit = 3
net.ipv4.neigh.venet0.ucast_solicit = 3
net.ipv4.neigh.venet0.app_solicit = 0
net.ipv4.neigh.venet0.retrans_time = 100
net.ipv4.neigh.venet0.base_reachable_time = 30
net.ipv4.neigh.venet0.delay_first_probe_time = 5
net.ipv4.neigh.venet0.gc_stale_time = 60
net.ipv4.neigh.venet0.unres_qlen = 3
net.ipv4.neigh.venet0.proxy_qlen = 64
net.ipv4.neigh.venet0.anycast_delay = 100
net.ipv4.neigh.venet0.proxy_delay = 80
net.ipv4.neigh.venet0.locktime = 100
net.ipv4.neigh.venet0.retrans_time_ms = 1000
net.ipv4.neigh.venet0.base_reachable_time_ms = 30000
net.ipv4.conf.venet0.forwarding = 1
net.ipv4.conf.venet0.mc_forwarding = 0
net.ipv4.conf.venet0.accept_redirects = 1
net.ipv4.conf.venet0.secure_redirects = 1
net.ipv4.conf.venet0.shared_media = 1
net.ipv4.conf.venet0.rp_filter = 0
net.ipv4.conf.venet0.send_redirects = 1
net.ipv4.conf.venet0.accept_source_route = 1
net.ipv4.conf.venet0.src_valid_mark = 0
net.ipv4.conf.venet0.proxy_arp = 0
net.ipv4.conf.venet0.medium_id = 0
net.ipv4.conf.venet0.bootp_relay = 0
net.ipv4.conf.venet0.log_martians = 0
net.ipv4.conf.venet0.tag = 0
net.ipv4.conf.venet0.arp_filter = 0
net.ipv4.conf.venet0.arp_announce = 0
net.ipv4.conf.venet0.arp_ignore = 0
net.ipv4.conf.venet0.arp_accept = 0
net.ipv4.conf.venet0.arp_notify = 0
net.ipv4.conf.venet0.disable_xfrm = 0
net.ipv4.conf.venet0.disable_policy = 0
net.ipv4.conf.venet0.force_igmp_version = 0
net.ipv4.conf.venet0.promote_secondaries = 0
error: permission denied on key 'net.ipv6.route.flush'
net.ipv6.conf.venet0.forwarding = 0
net.ipv6.conf.venet0.hop_limit = 64
net.ipv6.conf.venet0.mtu = 1500
net.ipv6.conf.venet0.accept_ra = 1
net.ipv6.conf.venet0.accept_redirects = 1
net.ipv6.conf.venet0.autoconf = 1
net.ipv6.conf.venet0.dad_transmits = 1
net.ipv6.conf.venet0.router_solicitations = 3
net.ipv6.conf.venet0.router_solicitation_interval = 4
net.ipv6.conf.venet0.router_solicitation_delay = 1
net.ipv6.conf.venet0.force_mld_version = 0
net.ipv6.conf.venet0.use_tempaddr = 0
net.ipv6.conf.venet0.temp_valid_lft = 604800
net.ipv6.conf.venet0.temp_prefered_lft = 86400
net.ipv6.conf.venet0.regen_max_retry = 5
net.ipv6.conf.venet0.max_desync_factor = 600
net.ipv6.conf.venet0.max_addresses = 16
net.ipv6.conf.venet0.accept_ra_defrtr = 1
net.ipv6.conf.venet0.accept_ra_pinfo = 1
net.ipv6.conf.venet0.accept_ra_rtr_pref = 1
net.ipv6.conf.venet0.router_probe_interval = 60
net.ipv6.conf.venet0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.venet0.proxy_ndp = 0
net.ipv6.conf.venet0.accept_source_route = 0
net.ipv6.conf.venet0.optimistic_dad = 0
net.ipv6.conf.venet0.mc_forwarding = 0
net.ipv6.conf.venet0.disable_ipv6 = 0
net.ipv6.conf.venet0.accept_dad = -1
net.ipv6.neigh.venet0.mcast_solicit = 3
net.ipv6.neigh.venet0.ucast_solicit = 3
net.ipv6.neigh.venet0.app_solicit = 0
net.ipv6.neigh.venet0.retrans_time = 250
net.ipv6.neigh.venet0.base_reachable_time = 30
net.ipv6.neigh.venet0.delay_first_probe_time = 5
net.ipv6.neigh.venet0.gc_stale_time = 60
net.ipv6.neigh.venet0.unres_qlen = 3
net.ipv6.neigh.venet0.proxy_qlen = 64
net.ipv6.neigh.venet0.anycast_delay = 100
net.ipv6.neigh.venet0.proxy_delay = 80
net.ipv6.neigh.venet0.locktime = 0
net.ipv6.neigh.venet0.retrans_time_ms = 1000
net.ipv6.neigh.venet0.base_reachable_time_ms = 30000
My HN is directly connected to internet with the IP A.B.C.D
As you can see, everything seems alright (however i'm beginner, so if there are some strange things, tell me).
THERE IS NO IPTABLES RULES
On 101
root@localhost:/# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
On the HN :
root@milo:/home/choco52# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Same for nat and mangle (clean).
/////////////////////////////////////////
I can now expose my weird problem.
The facts :
-My HN can ping 101.
-I also did create another VE (102) with a different IP (like 10.0.0.1/8) and 102 can ping 101.
-My VE can ping the HN
-If i do masquerading on the HN, 101 can ping google and aptitude works fin etc..
BUT
-When i try to ping 101 from a host which is on another subnet (let's say 192.168.200.0/24), the ping will fail.
But the detail which is killing me is that my VE receive the ICMP REQUEST but decide to not answer it. It really drives me crazy.
This what the VE receive :
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
09:35:18.352704 IP 192.168.200.253 > 192.168.210.101: ICMP echo request, id 10, seq 0, length 80
0x0000: 0000 ffff 0000 0000 0000 0000 0000 0800 ................
0x0010: 4500 0064 002f 0000 fd01 a0b5 c0a8 c8fd E..d./..........
0x0020: c0a8 d265 0800 6f05 000a 0000 0000 0000 ...e..o.........
0x0030: 0d37 0204 abcd abcd abcd abcd abcd abcd .7..............
0x0040: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0050: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0060: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0070: abcd abcd ....
09:35:20.349820 IP 192.168.200.253 > 192.168.210.101: ICMP echo request, id 10, seq 1, length 80
0x0000: 0000 ffff 0000 0000 0000 0000 0000 0800 ................
0x0010: 4500 0064 0030 0000 fd01 a0b4 c0a8 c8fd E..d.0..........
0x0020: c0a8 d265 0800 6734 000a 0001 0000 0000 ...e..g4........
0x0030: 0d37 09d4 abcd abcd abcd abcd abcd abcd .7..............
0x0040: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0050: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0060: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0070: abcd abcd
And it goes like this for a long time, no icmp reply from my VE..
This the same issue if i use another protocol like TCP or UDP, my VE will not answer at all.
I tried to ping from different hosts, the issue is the same.
Why does the VE decide to not answer this ping ???
It's so strange.
I did some researches, i looked at the rp_filter, but it seems not to be the problem (as you can see i set it to 0 not only for venet0 but for all..).
By the way, all my ping from the another network come from a ipsec tunnel configured directly in the HN (and another server). I begin to i believe that there is maybe a bug with ipsec.
If you need more information, just ask.
If you have any idea, any thought please tell me i really need some help here :/
Thx.
...
[Updated on: Thu, 16 February 2012 22:27] Report message to a moderator
|
|
|
|
Re: A really strange network issue [message #45326 is a reply to message #45230] |
Sat, 25 February 2012 21:00  |
Choco52
Messages: 3 Registered: February 2012
|
Junior Member |
|
|
Hi,
After some researches i did find my problem.
I also saw that some others dudes have the same problem.
In fact a solution is to disable the ipsec policy and encryption for the interface.
I don't really understand why this is a problem but disabling these two thing did solve my problem.
net.ipv4.conf.all.disable_xfrm = 1
net.ipv4.conf.all.disable_policy = 1
FYI:
disable_policy
BOOLEAN
Disable IPSEC policy (SPD) for this interface
disable_xfrm
BOOLEAN
Disable IPSEC encryption on this interface, whatever the policy
Maybe the ipsec policy is apllied twice when using a VE ? thus causing lot of trouble..
|
|
|