Linear regression can accommodate non-straight-line relationships between IVs and the DV through various transformations of variables, addition of polynomial terms and so on. That is a model like $y = b_0 + b_1x_1^2 + b_2x_1 + b_3x_3^5$ is a linear model. But a model such as $y = b_0 + 2^{b_1x_1}$ is not. If the data are *really* nonlinear, then the choice of model depends partly on what you know about the relationships. If you don't know much, a spline regression may work well.