Manual Deployment
File Preparation
WARNING
- Before deployment, please confirm that your system meets the requirements outlined in System Requirements
- The system can start without any configuration, but the only side effect is that
/etc/resolv.confwill be modified to127.0.0.1. If you cannot access the network after stopping the service, please check this file - The following items marked as "optional" can be skipped if not needed
WARNING
Remember to use ss -lutp to check if any DNS service is already occupying port 53 on the current host. If it's already in use, the service cannot start.
- Landscape Router main executable, download from here
- Static page files, download from here, and extract to
/root/.landscape-router/staticfolder - (Optional) Install PPP for PPPoE dial-up
- (Optional) Install Docker
- (Optional if you have a desktop environment with a browser) Prepare initialization configuration file
(Note: This configuration file is only read on the first run):
Place it in ->/root/.landscape-router/landscape_init.toml - (Optional) geosite / geoip files
Disable Automatic IP Configuration / DNS Services on Host Machine
- Debian: Modify file:
/etc/network/interfaces
Set all LAN network cards to manual, and additionally set a static IP for the WAN network card in the configuration file, so that even if the router program fails, you can still access it from another machine with a static IP.
auto <first_network_card_name> <- For example, set as WAN
iface <first_network_card_name> inet static
address 192.168.22.1
netmask 255.255.255.0
auto <second_network_card_name> <- All others are LAN
iface <second_network_card_name> inet manual
auto <third_network_card_name>
iface <third_network_card_name> inet manualExample:
auto ens3
iface ens3 inet static
address 192.168.22.1
netmask 255.255.255.0
auto ens4
iface ens4 inet manual
auto ens5
iface ens5 inet manualThis way, even if the router fails, you can use another machine set to any address in the 192.168.22.0/24 network segment (for example: 192.168.22.2/24), directly connect to this network card, and be able to connect to the router.
Other systems to be added... PRs welcome to share deployment processes
Disable DNS Service on Host Machine (ignore if this service doesn't exist)
systemctl stop systemd-resolved
systemctl disable systemd-resolved
systemctl mask systemd-resolvedManual Start Verification
Before configuring the systemd service, you can manually run /root/landscape-webserver first to confirm it can execute. When running successfully, it will output the following content displaying the current configuration. You can verify if Auth and the corresponding Web path are correct:
██╗ █████╗ ███╗ ██╗██████╗ ███████╗ ██████╗ █████╗ ██████╗ ███████╗
██║ ██╔══██╗████╗ ██║██╔══██╗██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝
██║ ███████║██╔██╗ ██║██║ ██║███████╗██║ ███████║██████╔╝█████╗
██║ ██╔══██║██║╚██╗██║██║ ██║╚════██║██║ ██╔══██║██╔═══╝ ██╔══╝
███████╗██║ ██║██║ ╚████║██████╔╝███████║╚██████╗██║ ██║██║ ███████╗
╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚══════╝
██████╗ ██████╗ ██╗ ██╗████████╗███████╗██████╗
██╔══██╗██╔═══██╗██║ ██║╚══██╔══╝██╔════╝██╔══██╗
██████╔╝██║ ██║██║ ██║ ██║ █████╗ ██████╔╝
██╔══██╗██║ ██║██║ ██║ ██║ ██╔══╝ ██╔══██╗
██║ ██║╚██████╔╝╚██████╔╝ ██║ ███████╗██║ ██║
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝
Landscape Home Path: /root/.landscape-router
[Auth]
Admin User: admin
Admin Pass: root
[Log]
Log Path: /root/.landscape-router/logs
Debug: true
Log Output In Terminal: true
Max Log Files: 7
[Web]
Web Root Path: /root/.landscape-router/static
Listen HTTP on: http://[::]:6300
Listen HTTPS on: https://[::]:6443
[Store]
Database Connect: sqlite://./db.sqlite?mode=rwcCreate systemd Service File
Create /etc/systemd/system/landscape-router.service File content:
[Unit]
Description=Landscape Router
[Service]
ExecStart=/root/landscape-webserver <- Remember to modify this path
Restart=always
User=root
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target# Start service
systemctl start landscape-router.service
# Enable service on boot (execute after confirming everything is working)
systemctl enable landscape-router.service
# Stop service
systemctl stop landscape-router.serviceUpgrading landscape-router
- Download new version of
landscape-webserverandstaticand extract - Stop landscape-router.service
- Replace with new version of
landscape-webserverandstatic - Reboot system (simply restarting landscape-router.service will cause traffic shaping function to be unavailable)