The overall appearance is that the normals are "normal," that you have no reversed facets, but there are discontinuities within the model that Meshmixer and Netfabb show as failure points. Windows 10 3DBuilder also attempts a repair which fills in the holes.

The Meshmixer capture image shows red lines and points at the flaws in the model. Both above programs fill the faces, which works fine on the cylinder, but fills in the plane where the holes reside, as well as removes the internal holes/cylinders, preventing a simple plane cut repair.
Additional examination of the original model shows an internal cylinder formed axially on the end face red warning markers in the image above.
I used Rhino3D v6 to slip inside, select the cylinder and remove it. Because the cylinder is "inside" the overall model, there's no inside face and outside face, causing the software to glitch.
On the red line along the circumference of the cylinder, there's an internal disk/disc with an internal diameter to match the previously removed internal cylinder. As it also resides within the overall model, the same trouble applies: no true inside/outside surface for the software to comprehend.
Once these were removed, a problematic set of errors appeared. I'm working on that. Work completed. Windows 10 3DBuilder has a pretty amazing repair facility, once the deep stuff is cleaned away. The end result passes the Meshmixer Inspector test and I suspect will work for you. The cylinder appears to be 37 mm in diameter (about an inch and a half) which is rather tiny, but with the flaws repaired, will scale up just fine.
It loaded into Simplify3D slicer with no errors and appears will print nicely, although with support required along the beveled portion of the cylinder.