A couple of points.
While an internship helps when looking for a job after graduation, it’s not a “must have”. Plenty of engineers find jobs without ever working an internship. However, if you can, an internship is recommended. The $ and experience is good, while it does help make you more competitive in the job market.
As HPuck35 said, most companies are looking for rising seniors. To them, an internship is like an extended job interview and recruitment tool. I would say at least 3 out of 4 companies would limit themselves to interviewing juniors. You can still get an internship earlier, but you have to cast a wide net, and after target smaller companies. In fact, it’s best to start looking at a freshman. If nothing else, you gain valuable experience building your resume and interviewing, that will pay off when you’re a junior.
While in college you’ll need to build up your resume. Of course, the higher your GPA the better. In addition, you’ll find that most questions asked during interviews are “behavioral questions”. “Have you ever had a conflict with a team member and how did you over come it?”. They are looking for people with decent interpersonal skills.
For that reason, don’t limit yourself to only academics. Work a part time job, join a club, take a leadership position in your club, do undergraduate research, etc. Design teams are a great example… A popular design team for Civil engineers are the Concrete Canoe design teams.
http://www.gatorasce.com/concrete-canoe.html
You can see how a significant amount of your interview could be spent talking about your experiences on this team. Civil engineers have other design/competition teams, this is only one example. You want to give yourself something to talk about, other than your GPA and classes you’ve taken.
Good Luck!