79 lines
2.7 KiB
Markdown
79 lines
2.7 KiB
Markdown
|
|
### Script to change the IP
|
|
***
|
|
#### Set the first 3 octets of the new ips
|
|
```
|
|
:global ipPrefix "10.1.30"
|
|
```
|
|
|
|
#### To run the change of the IPs:
|
|
```
|
|
/system script run ip-config-changer
|
|
```
|
|
|
|
#### Script:
|
|
```pascal
|
|
# Define the global variable ipPrefix if it doesn't exist
|
|
:global ipPrefix;
|
|
|
|
# Check if ipPrefix is set and not empty
|
|
:if ([:typeof $ipPrefix] != "str" || [:len $ipPrefix] = 0) do={
|
|
:put "Please set the prefix first using: :global ipPrefix \"192.168.2\"";
|
|
:error "ipPrefix is not defined or is empty";
|
|
}
|
|
|
|
# Display the current ipPrefix for debugging
|
|
:put ("Current ipPrefix: " . $ipPrefix);
|
|
|
|
# Update the IP pools with valid ranges
|
|
/ip pool set [find name="ethernet-pool"] ranges=($ipPrefix . ".131-" . $ipPrefix . ".131")
|
|
/ip pool set [find name="wifi"] ranges=($ipPrefix . ".200-" . $ipPrefix . ".220")
|
|
|
|
# Display the assigned values for debugging
|
|
:put ("Ethernet Pool Ranges: " . ($ipPrefix . ".131-" . $ipPrefix . ".131"))
|
|
:put ("WiFi Pool Ranges: " . ($ipPrefix . ".200-" . $ipPrefix . ".220"))
|
|
|
|
# Update the IP address of the ether2 interface
|
|
/ip address set [find where interface="ether2"] address=($ipPrefix . ".252/24") network=($ipPrefix . ".0")
|
|
|
|
# Display the assigned IP address for debugging
|
|
:put ("Ether2 IP Address: " . ($ipPrefix . ".252/24"))
|
|
|
|
# Update the DHCP server network settings
|
|
/ip dhcp-server network set [find] address=($ipPrefix . ".0/24") gateway=($ipPrefix . ".252") dns-server=($ipPrefix . ".252")
|
|
|
|
# Display the DHCP configuration for debugging
|
|
:put ("DHCP Network Address: " . ($ipPrefix . ".0/24"))
|
|
:put ("DHCP Gateway: " . ($ipPrefix . ".252"))
|
|
:put ("DHCP DNS Server: " . ($ipPrefix . ".252"))
|
|
|
|
# Update the local address in the PPP profile
|
|
/ppp profile set [find name="pptp-bridge"] local-address=($ipPrefix . ".252")
|
|
|
|
# Display the local address of the PPP profile for debugging
|
|
:put ("PPP Local Address: " . ($ipPrefix . ".252"))
|
|
|
|
# Restart the Wi-Fi interface
|
|
/interface wireless disable [find name="wlan1"]
|
|
:delay 2
|
|
/interface wireless enable [find name="wlan1"]
|
|
|
|
# Display a message indicating the Wi-Fi interface has been restarted
|
|
:put "Wi-Fi interface 'wlan1' has been restarted."
|
|
|
|
# Clear existing DHCP leases
|
|
/ip dhcp-server lease remove [find]
|
|
|
|
# Display a message indicating DHCP leases have been cleared
|
|
:put "All DHCP leases have been cleared."
|
|
|
|
# Display the current configuration
|
|
:put "=== Current Configuration ==="
|
|
:put ("Ethernet Pool: " . [/ip pool get [find name="ethernet-pool"] ranges])
|
|
:put ("WiFi Pool: " . [/ip pool get [find name="wifi"] ranges])
|
|
:put ("Ether2 IP: " . [/ip address get [find where interface="ether2"] address])
|
|
:put ("DHCP Network: " . [/ip dhcp-server network get [find] address])
|
|
:put ("PPP Local Address: " . [/ppp profile get [find name="pptp-bridge"] local-address])
|
|
|
|
```
|