I searched for very long range wireless communications between two Arduinos, but can't find solutions. I don't live in USA, In my country there are regions, where GSM does not work. I want wireless communication approximately 500-1 000 KMs. What are options without GSM for that distance wireless communication(500-1000 KM)?
Back in the old days, we used things called modems to connect computers across POTS.
Your country may not have GMS, but I bet you still have old land lines. In that case, you can use a land line + modem to connect the arduinos directly , no Internet involved, no ISP needed, no overhead, no lag, nothing. It's just one Arduino at each end of a very long cable. No TCP/IP needed, but you need your own protocol to keep data in sync and filter out errors. There is lot of well proven ones from the golden era of BBS.
I search Aliexpress, I didn't find any modem suitable for direct conection with Arduino, but there is a lot of USB modem like this:
I don't know if they can work with Arduino. I'm afraid that they are win-modem only.
What it really works with anything is a traditional modem, like this model from Multitech (not an endorsing):
You will need a RS-232 level converter however, because RS-232's voltages can go up to 25V. The converter avoids you to deal with the peculiarities of the RS-232 standard and DB-9 connector.
And a cable, of course.
You can develop and test your project using a null modem cable, to connect both Arduinos, a few meters apart, without need of a land line.