Linear precoding techniques can achieve near- optimal capacity due to the special channel property in down- link massive MIMO systems, but involve high complexity since complicated matrix inversion of large size is required. In this paper, we propose a low-complexity linear precoding scheme based on the Gauss-Seidel (GS) method. The proposed scheme can achieve the capacity-approaching performance of the classical linear precoding schemes in an iterative way without complicated matrix inversion, which can reduce the overall complexity by one order of magnitude. The performance guarantee of the proposed GS-based precoding is analyzed from the following three aspects. At first, we prove that GS-based precoding satisfies the transmit power constraint. Then, we prove that GS-based precoding enjoys a faster convergence rate than the recently proposed Neumann-based precoding. At last, the convergence rate achieved by GS-based precoding is quantified, which reveals that GS-based precoding converges faster with the increasing number of BS antennas. To further accelerate the convergence rate and reduce the complexity, we propose a zone-based initial solution to GS-based precoding, which is much closer to the final solution than the traditional initial solution. Simulation results demonstrate that the proposed scheme outperforms Neumann- based precoding, and achieves the exact capacity-approaching performance of the classical linear precoding schemes with only a small number of iterations both in Rayleigh fading channels and spatially correlated channels.