Providing low power and long range (LoRa) connectivity is the goal of most Internet of Things networks, e.g., LoRa, but keeping communication reliable is challenging. LoRa networks are vulnerable to the capture effect. Cell-edge nodes have a high chance of losing packets due to collisions, especially when high spreading factors (SFs) are used that increase time on air. Moreover, LoRa networks face the problem of scalability when they connect thousands of nodes that access the shared channels randomly. In this paper, we propose a new MAC layer-RS-LoRa-to improve reliability and scalability of LoRa wide-area networks (LoRaWANs). The key innovation is a two-step lightweight scheduling: 1) a gateway schedules nodes in a coarse-grained manner through dynamically specifying the allowed transmission powers and SFs on each channel and 2) based on the coarse-grained scheduling information, a node determines its own transmission power, SF, and when and on which channel to transmit. Through the proposed lightweight scheduling, nodes are divided into different groups, and within each group, nodes use similar transmission power to alleviate the capture effect. The nodes are also guided to select different SFs to increase the network reliability and scalability. We have implemented RS-LoRa in NS-3 and evaluated its performance through extensive simulations. Our results demonstrate the benefit of RS-LoRa over the legacy LoRaWAN, in terms of packet error ratio, throughput, and fairness. For instance, in a single-cell scenario with 1000 nodes, RS-LoRa can reduce the packet error ratio of the legacy LoRaWAN by nearly 20%.