Hi, I've never used OVH. How certain are you that the e1000 network driver is the correct one? Under VMWare/ESX the network driver choice can be crucial, for example.
On Wed, Aug 29, 2018 at 6:30 AM Kevin DAGNEAUX <kevin.dagne...@fiitelcom.fr> wrote: > Hi, > > I've a server in OVH datacenter, on this server i've 7 VMs, on 1 of them > in run Apache. > To debug a slow upload (who was ~2Mo/s instead 12Mo/s) i've installed an > HTML5/PHP speed test application. > When i use this app, i've no problem in general, but, when a make a speed > test from a source who have more bandwith than the server (the server is > limited at 100Mb/s by OVH and i make the test from a 4G+ network where i've > ~150Mb/s of bandwith), in this case, the DOM0 lost his network connection > (like the ethernet cable is unplugged) until i reboot the server. > > When i check the syslog of DOM0, i see that iptables drop incomming packet > on port 80 instead of routing them to the VM. > > This is my iptables script i use on DOM0 : > > #!/bin/bash > > IPT="/sbin/iptables" > > > ########################################################################################### > # Filter > > ## Remise par defaut des regles > $IPT -t filter -P INPUT ACCEPT > $IPT -t filter -P FORWARD ACCEPT > $IPT -t filter -P OUTPUT ACCEPT > > ## On purge les tables > $IPT -t filter -F > > ## On autorise lo > $IPT -t filter -A INPUT -i lo -j ACCEPT > > ## On ouvre les ports nécéssaires au DOM0 > $IPT -t filter -A INPUT -m tcp -p tcp --dport 22 -j > ACCEPT ## SSH > $IPT -t filter -A INPUT -m udp -p udp --dport 53 -j > ACCEPT ## DNS > $IPT -t filter -A INPUT -m icmp -p icmp --icmp-type 8 -j > ACCEPT ## Ping > $IPT -t filter -A INPUT -s 10.0.0.0/24 -j ACCEPT > > ## On accepte si la connexion est déjà établie > $IPT -t filter -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT > > ## On log ce qui n'a pas été matché par les règles précédente > $IPT -A INPUT -p tcp -j LOG --log-prefix "DROPED packets " > > ## On bloque tout le reste > $IPT -t filter -P INPUT DROP > > > ############################################################################################ > # Nat > > ## Remise par defaut des regles > $IPT -t nat -P PREROUTING ACCEPT > $IPT -t nat -P POSTROUTING ACCEPT > $IPT -t nat -P INPUT ACCEPT > $IPT -t nat -P OUTPUT ACCEPT > > ## On purge > $IPT -t nat -F > > ### Routage des ports entrants pour la VM "mails" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22030 -j DNAT --to > 10.0.0.30:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 25 -j DNAT --to > 10.0.0.30:25 ## SMTP > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 587 -j DNAT --to > 10.0.0.30:587 ## SMTP SUBMISSION > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 465 -j DNAT --to > 10.0.0.30:465 ## SMTP SSL > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 143 -j DNAT --to > 10.0.0.30:143 ## IMAP > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 993 -j DNAT --to > 10.0.0.30:993 ## IMAP SSL > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 9930 -j DNAT --to > 10.0.0.30:9930 ## IMAP SSL > > ### Routage des ports entrants pour la VM "sql" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22020 -j DNAT --to > 10.0.0.20:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 3306 -j DNAT --to > 10.0.0.20:3306 ## MariaDB > > ### Routage des ports entrants pour la VM "files" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22010 -j DNAT --to > 10.0.0.10:22 ## SSH > > ### Routage des ports entrant pour la VM "web" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22040 -j DNAT --to > 10.0.0.40:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 80 -j DNAT --to > 10.0.0.40:80 ## HTTP > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 443 -j DNAT --to > 10.0.0.40:443 ## HTTPS > > ### Routage des ports entrants pour la VM "monitor" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22050 -j DNAT --to > 10.0.0.50:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 850 -j DNAT --to > 10.0.0.50:80 ## HTTP > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 855 -j DNAT --to > 10.0.0.50:443 ## HTTPS > > ### Routage des ports entrants pour la VM "comm" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22060 -j DNAT --to > 10.0.0.60:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 5222 -j DNAT --to > 10.0.0.60:5222 ## Jabber > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 5269 -j DNAT --to > 10.0.0.60:5269 ## Jabber > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 5280 -j DNAT --to > 10.0.0.60:5280 ## Jabber > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 5281 -j DNAT --to > 10.0.0.60:5281 ## Jabber > > ### Routage des ports entrants pour la VM "secure" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22070 -j DNAT --to > 10.0.0.70:22 ## SSH > > ### Routage des ports entrants pour la VM "net" > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 22080 -j DNAT --to > 10.0.0.80:22 ## SSH > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 8388 -j DNAT --to > 10.0.0.80:8388 ## shadowsocks > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p udp --dport 8388 -j DNAT --to > 10.0.0.80:8388 ## shadowsocks > $IPT -t nat -A PREROUTING -d XX.XX.XX.XX -p tcp --dport 11094 -j DNAT --to > 10.0.0.80:1194 ## OpenVPN > > ### Autorise les VMs a accéder a internet > $IPT -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE > > And this is what i have in syslogs : > > Aug 28 15:50:32 ovh-1 kernel: DROPED packets IN=enp1s0 OUT= > MAC=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ SRC=YY.YY.YY.YY > DST=XX.XX.XX.XX LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=2226 DF PROTO=TCP > SPT=9610 DPT=80 WINDOW=0 RES=0x00 RST URGP=0 > Aug 28 15:50:32 ovh-1 kernel: DROPED packets IN=enp1s0 OUT= > MAC=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ SRC=YY.YY.YY.YY > DST=XX.XX.XX.XX LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=2227 DF PROTO=TCP > SPT=9610 DPT=80 WINDOW=0 RES=0x00 RST URGP=0 > Aug 28 15:50:32 ovh-1 kernel: DROPED packets IN=enp1s0 OUT= > MAC=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ SRC=YY.YY.YY.YY > DST=XX.XX.XX.XX LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=2228 DF PROTO=TCP > SPT=9610 DPT=80 WINDOW=0 RES=0x00 RST URGP=0 > Aug 28 15:50:32 ovh-1 kernel: DROPED packets IN=enp1s0 OUT= > MAC=ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ:ZZ SRC=YY.YY.YY.YY > DST=XX.XX.XX.XX LEN=40 TOS=0x00 PREC=0x00 TTL=55 ID=2229 DF PROTO=TCP > SPT=9610 DPT=80 WINDOW=0 RES=0x00 RST URGP=0 > > *** I've several hundred of similare line where only the ID change, then : > *** > > Aug 28 15:50:32 ovh-1 kernel: e1000e: enp1s0 NIC Link is Down > Aug 28 15:50:32 ovh-1 systemd-networkd[20998]: enp1s0: Lost carrier > Aug 28 15:50:34 ovh-1 systemd-networkd[20998]: enp1s0: Gained carrier > Aug 28 15:50:34 ovh-1 kernel: e1000e: enp1s0 NIC Link is Up 100 Mbps Full > Duplex, Flow Control: None > Aug 28 15:50:34 ovh-1 kernel: e1000e 0000:01:00.0 enp1s0: 10/100 speed: > disabling TSO > > The log show that the network is UP but the server is offline. > In the VM's logs i don't have abnormal things. > > OVH have changed the motherboard and the ethernet cable but the problem > still persist, the syslog show that it's probably a software problem. > > Do you have idea of what happen or a way to help me to debug this problem? > > Thank you in advance. > > Kevin > -- > > DAGNEAUX Kevin > Service informatique > 03 29 36 88 85 > kevin.dagne...@fiitelcom.fr >