Speaking to a rally with supporters in Montana, US President Donald Trump slammed Germany and Chancellor Angela Merkel for buying oil and gas from Moscow and not paying enough into the NATO budget.

Donald Trump, addressing his supporters in Montana, argued that Germany "wants protection" from Russia, and is "paying billions of dollars for oil and gas."

"They go out and make a gas deal, oil and gas, from Russia, where they pay billions and billions of dollars to Russia. They want to protect against Russia and yet they pay billions of dollars to Russia," Trump said, in reference to the Nord Stream-2 pipeline deal.

At the same time, the US president slammed Germany for paying only one percent of the country's GDP to the NATO budget.

"Germany, which is the biggest country of the EU, European Union, Germany pays one percent, one percent," Trump said.

He referred to Chancellor Angela Merkel by name, saying: "And I said, 'You know, Angela, I can't guarantee it, but we're protecting you and it means a lot more to you than protecting us 'cause I don't know how much protection we get by protecting you."

"We are the schmucks who pay for the whole thing," Trump said, addressing the audience.

The president's rant comes just a week before he heads to Brussels for a NATO summit, following a standoff with G7 nations at a recent summit in Canada.

According to POTUS, the US pays some 4% of its GDP to defense spending. Germany seeks to pay 1.5%, but has not yet reached this figure. And NATO's stated goal is 2% of GDP.

Trump has repeatedly called on European nations to increase their military spending, arguing that at this point in time, the United States is bearing the burden of protecting the entire continent — at least, in financial terms.

"I'm going to tell NATO you gotta start paying your bills. The United States is not going to take care of everything," Trump said in Montana.