ns-migration
ns-migration imports the configuration from NethServer 7 (NS7).
Before proceed, make sure to export NS7 configuration using nethserver-firewall-migration package:
- access the NS7 machine as root
- execute:
firewall-export - copy
/var/lib/nethserver/firewall-migration/export.tar.gzinside NethSecurity installation using SSH
Usage
The main command is ns-import:
ns-import [-q] [-m oldmac=newmac] <exported_archive>
Usage example:
ns-import -m 'ae:12:3b:19:0a:2a=0b:64:31:69:ae:8a' export.tar.gz
The ns-import will:
- explode the archive inside a temporary directory
- invoke all the scripts inside
/usr/share/firewall-import/directory - pass the temporary directory as argument to each script
Scripts can also be invoked manually after extracting the archive. Example:
cd /tmp
tar xvzf export.tar.gz
/usr/share/firewall-import/network /tmp/export
The ns-import script is verbose by default, use the -q option to suppress output to standard output.
On first boot, if a file named /usr/share/migration/export.tar.gz is present, the system
will automatically import the configuration. Migration output will be logged to /root/migration.log.
Remapping interfaces
When importing the configuration from an old machine to a new one, you need to remap network interface hardware addresses.
Usage example:
ns-import -m 'ae:12:3b:19:0a:2a=0b:64:31:69:ae:8a' export.tar.gz
The -m option will be used by migration scripts to move the configuration from the old network
interface (ae:12:3b:19:0a:2a) to the new one (0b:64:31:69:ae:8a).
Root password
The passwd script imports the root user password.
Network
The network script will reset default configuration by deleting all wan and lan devices with associated firewall zones.
It will import:
- Ethernet interfaces
- VLAN devices
- Bridges
- Bonds
- Aliases
- Firewall roles using firewall zones and forwarding
- Source NAT rules
Differences since NS7:
- source NAT are connected to
wanoutbound zone and not to a specific interface; this configuration can be changed by settingsrcoption to*and addingdeviceoption set to the WAN physical ethernet interface greenzone has been renamed tolanredzone has been renamed towanbluezone has been renamed toguestorangezone has been renamed todmz- bridges over bonds are not supported since UCI requires to setup an IP address on bond devices
Date and time
The time script will import:
- timezone
- NTP client status (enabled/disabled)
- NTP server list
If NTP client is disabled on NS7, you must re-configure the time manually after the import.
DHCP
The dhcp script will import:
- global options like DHCP max lease time
- DHCP servers
- DHCP static leases (reservations)
Differences since NS7
- DHCP on non static interfaces like bonds, is not supported
DNS
The dns script will import:
- system FQDN
- global DNS configuration like local domain and DNS forwarders
- static hosts
- static wild card hosts
- DNS redirect for Active Directory
TFTP options are migrated, but not the content of the tftp_root directory. To re-enable the service make sure to setup tftp_root option.
Static routes
The routes script will import:
- all static routes
Port forwarding
The redirect script will import:
- all port forwards
If HairpinNat option was enabled on NS7, all imported port forward will have hairpin enabled (see reflection option).
Differences since NS7:
- port forwards with multiple IP limitations will be split into multiple redirects
- port forwards with multiple ports will be split into multiple redirects
Firewall rules
The rules script will import:
- all firewall rules
The following NS7 features are still not imported:
- rules using NDPI services
Differences since NS7:
- zones are migrated as CIDR networks
- rules using non-existing zones will be disabled
- NAT helpers are disabled by default
-
wan interfaces will accept extra traffic:
- DHCP replies (
Allow-DHCP-RenewandAllow-DHCPv6rules) - Ping (
Allow-Ping,Allow-ICMPv6-InputandAllow-ICMPv6-Forwardrules) - IGMP traffic (
Allow-IGMPrule) - Multicast traffic (
Allow-MLDrule) - IPsec (
Allow-ISAKMPandAllow-IPSec-ESPrules)
- DHCP replies (
The following NS7 features will not be migrated:
Stateoption for rules: rules will be applied only to new connectionsExternalPingoption: ping to wan is always permitted; disable corresponding rules to block it (see above)MACValidation(MAC Binding), you can replicate the same behavior by deleting the forwarding from lan to wan and then creating a rule accepting traffic from a list of MAC addresses (src_macoption, see suggested solution)Policyoption:strictpolicy will be converted topermissive; you can replicate the same behavior by deleting forwarding rules for involved zonesSipAlgoption: application level gateway (ALG) are disabled by default; if you need to enable NAT helper see suggested solution
MultiWAN
The wan script will import:
- multiwan mode (balance/backup)
- provider weight
- IP to check WAN connectivity
The following NS7 features will not be migrated:
- time matches for rules (not supported by mwan3)
- mail notification on WAN status change
MaxNumberPacketLossandMaxPercentPacketLosstracking options- policy routing (divert rules)
Differences since NS7:
- rules are presented in reverse order
After the migration you should tune tracking options for each wan interface.
QoS
The network script will also import:
- download and upload bandwidth of wan interfaces
The following NS7 features will not be migrated:
- QoS classes with reserved bandwidth
- QoS rules
OpenVPN roadwarrior
The openvpn script will import:
- CA, server and users certificates and keys
- IP address reservation
- user names with enabled/disabled status
- password for users saved inside local OpenLDAP
- LDAP configuration for remote authentication
The following NS7 features are still not migrated:
- mail notification
Existing data from connection database are not imported.
See also ns-openvpn.
OpenVPN tunnels
The openvpn_tunnels script will import
- all OpenVPN tunnel servers
- all OpenVPN tunnel clients
The following NS7 features will not be migrated:
WanPrioritiesoption of tunnel client- bridged mode of tunnel clients
IPSec
The ipsec script will import:
- IPSec tunnels with PSK authentication
Differences since NS7:
- IPSec tunnels uses
xfrminterfaces; if the original WAN was an ethernet interface, thexfrminteface will be bound to it, otherwise thexfrminterface will be bound to the first available WAN
The following NS7 features will not be migrated:
Custom_properties
Threat shield
The threat_shield script will import:
- IP blacklist configuration with status (enabled/disabled), categories and local white list
If the categories comes from a community repositories, you should reconfigure after the import.
See also ns-threat_shield.
Subscription
The subscription script will import:
- system identifier
- system secret
Hotspot (Dedalo)
The hotspot script will import:
- all configuration options
Differences since NS7:
- the hotspot will work only on ethernet and vlan interfaces
If the migration has been executed on a new hardware, the hotspot interface will change MAC address. In this case, the unit must be manually registered to the remote Icaro server:
- access Icaro portal and delete the new unit
- register the new one:
/etc/init.d/dedalo reload dedalo register -u <your reseller username> -p <your reseller password> dedalo restart
Let’s Encrypt certificate
The acme script will import:
- Let’s Encrypt account mail
- certificate domains list
Let’s Encrypt certificates will not be migrated, but regenerated at the end of import process.
The following NS7 options will not be migrated:
LetsEncryptChallenge, it’s fixed tohttp
Reverse proxy (proxy pass)
The reverse_proxy script will import:
- all path based rules
- all host based rules
The following NS7 options will not be migrated:
HTTPandHTTPS
Differences since NS7:
- redirection from HTTP to HTTPS is always enabled
Cloud DNS filter (Flashstart)
The flashstart script will import:
- filter configuration and credentials
The following NS7 options will not be migrated:
PortalUrlUpdateInterval
Other features
The following features are not migrated to NethSecurity:
- Web proxy (Squid) and filter (ufdbGuard)
- IPS (Suricata) and IPS alerts (EveBox)
- UPS monitoring (NUT)
- System statistics (Collectd)
- Reports (Dante)
- Bandwidth monitor (ntopng)
- Fail2ban