Sådan routes en bestemt adresse gennem en specifik gateway på en Mac

Hvordan kan en bestemt adresse routes gennem en specifik gateway på en Mac, så den altid bruger interface en0 i stedet for at skifte mellem forskellige interfaces?

For at route en bestemt adresse gennem en specifik gateway på en Mac, skal du bruge `sudo route -n add [destination_address] [gateway_address]` kommandoen i Terminal og eventuelt oprette en launch daemon for at gøre ændringen permanent.

Sådan routes en bestemt adresse gennem en specifik gateway på en Mac

For at sikre, at en bestemt adresse altid routes gennem en specifik gateway på en Mac og bruger interface en0, kan du følge disse trin:

  1. Åbn Terminal.
  2. Tilføj en statisk route ved hjælp af route kommandoen:
sudo route -n add [destination_address] [gateway_address]

Her er en kort forklaring af parametrene:

  • [destination_address]: Den IP-adresse eller netværk, du vil route.
  • [gateway_address]: Den IP-adresse på gatewayen, som du vil bruge.

For eksempel, hvis du vil route trafik til 192.168.1.0/24 netværket gennem gateway 192.168.0.1, ville kommandoen se sådan ud:

sudo route -n add 192.168.1.0/24 192.168.0.1

For at sikre, at denne route altid bruger interface en0, kan du specificere interface ved at tilføje -ifscope parameteren:

sudo route -n add -ifscope en0 192.168.1.0/24 192.168.0.1

For at gøre denne ændring permanent, kan du tilføje kommandoen til din /etc/rc.local fil (hvis den eksisterer) eller oprette en launch daemon.

Oprettelse af en Launch Daemon

  1. Opret en plist-fil i /Library/LaunchDaemons/:
sudo nano /Library/LaunchDaemons/com.custom.route.plist
  1. Tilføj følgende indhold til plist-filen:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.custom.route</string>
    <key>ProgramArguments</key>
    <array>
        <string>/sbin/route</string>
        <string>-n</string>
        <string>add</string>
        <string>-ifscope</string>
        <string>en0</string>
        <string>192.168.1.0/24</string>
        <string>192.168.0.1</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
  1. Gem og luk filen.
  2. Indstil de korrekte tilladelser:
sudo chown root:wheel /Library/LaunchDaemons/com.custom.route.plist
sudo chmod 644 /Library/LaunchDaemons/com.custom.route.plist
  1. Indlæs launch daemonen:
sudo launchctl load /Library/LaunchDaemons/com.custom.route.plist

Nu vil din Mac altid route trafik til den specificerede adresse gennem den ønskede gateway ved hjælp af interface en0.