{{Pkg|netctl}} and {{Pkg|netcfg}} are conflicting packages. You will be potentially connectionless after installing {{Pkg|netctl}} '''if''' your profiles are misconfigured.

+

== Configuration ==

−

−

==Configuration==

{{ic|netctl}} may be used to introspect and control the state of the systemd services for the network profile manager. Example configuration files are provided for the user to assist them in configuring their network connection. These example profiles are located in {{ic|/etc/netctl/examples/}}. The common configurations include:

{{ic|netctl}} may be used to introspect and control the state of the systemd services for the network profile manager. Example configuration files are provided for the user to assist them in configuring their network connection. These example profiles are located in {{ic|/etc/netctl/examples/}}. The common configurations include:

−

*ethernet-dhcp

+

* ethernet-dhcp

−

*ethernet-static

+

* ethernet-static

−

*wireless-wpa

+

* wireless-wpa

−

*wireless-wpa-static

+

* wireless-wpa-static

For wireless settings, use '''wifi-menu -o''' will generate the config file in /etc/netctl.

For wireless settings, use '''wifi-menu -o''' will generate the config file in /etc/netctl.

Line 36:

Line 43:

Once you have created your profile, make an attempt to establish a connection using the newly created profile by running:

Once you have created your profile, make an attempt to establish a connection using the newly created profile by running:

−

# netctl start <profile>

+

# netctl start ''profile''

If issuing the above command results in a failure, then use {{ic|journalctl -xn}} and {{ic|netctl status <profile>}} in order to obtain a more in depth explanation of the failure. Make the needed corrections to the failed configuration and retest.

If issuing the above command results in a failure, then use {{ic|journalctl -xn}} and {{ic|netctl status <profile>}} in order to obtain a more in depth explanation of the failure. Make the needed corrections to the failed configuration and retest.

−

===Automatic Operation===

+

=== Automatic operation ===

−

====Just One Profile====

+

+

==== Just one profile ====

+

If you are using only one profile, once that profile is started successfully, it can be {{ic|enabled}} using

If you are using only one profile, once that profile is started successfully, it can be {{ic|enabled}} using

−

# netctl enable <profile>

+

# netctl enable ''profile''

This will create and enable a [[systemd]] service that will start when the computer boots.

This will create and enable a [[systemd]] service that will start when the computer boots.

{{Note|The connection to a dhcp-server is only established if the interface is connected and up at boot time (or when the service starts). In order to have an automatic connection established on cable connect, proceed to [[#Multiple Profiles]].}}

{{Note|The connection to a dhcp-server is only established if the interface is connected and up at boot time (or when the service starts). In order to have an automatic connection established on cable connect, proceed to [[#Multiple Profiles]].}}

−

====Multiple Profiles====

+

==== Multiple profiles ====

−

Whereas with {{ic|netcfg}} there was {{ic|net-auto-wireless.service}} and {{ic|net-auto-wired.service}}, {{ic|netctl}} uses {{ic|netctl-auto@<interface>.service}} for wireless profiles, and {{ic|netctl-ifplugd@<interface>.service}} for wired profiles. In order to make the {{ic|netctl-auto@<interface>.service}} work for wireless interfaces, the package {{pkg|wpa_actiond}} is required to be installed. In order to make the {{ic|netctl-ifplugd@<interface>.service}} work for wired interfaces, the package {{pkg|ifplugd}} is required to be installed. Configure {{ic|/etc/ifplugd/ifplugd.conf}} accordingly. Automatic selection of a WPA-enabled profile by netctl-auto is not possible with option {{ic|1=Security=wpa-config}}, please use {{ic|1=Security=wpa-configsection}} instead.

−

To set preferred wired profile for auto-connecting specify {{ic|1=AutoWired=yes}} in that profile. By default on failure {{pkg|ifplugd}} will pass to other DHCP wired profiles, then to static ones. If you don't want it to do so, set {{ic|1=ForceConnect=yes}}.

+

Whereas with {{ic|netcfg}} there was {{ic|net-auto-wireless.service}} and {{ic|net-auto-wired.service}}, {{ic|netctl}} uses {{ic|netctl-auto@''interface''.service}} for wireless profiles, and {{ic|netctl-ifplugd@''interface''.service}} for wired profiles. In order to make the {{ic|netctl-auto@''interface''.service}} work for wireless interfaces, the package {{Pkg|wpa_actiond}} is required to be installed. In order to make the {{ic|netctl-ifplugd@''interface''.service}} work for wired interfaces, the package {{pkg|ifplugd}} is required to be installed. Configure {{ic|/etc/ifplugd/ifplugd.conf}} accordingly. Automatic selection of a WPA-enabled profile by netctl-auto is not possible with option {{ic|1=Security=wpa-config}}, please use {{ic|1=Security=wpa-configsection}} instead.

+

+

To set preferred wired profile for auto-connecting specify {{ic|1=AutoWired=yes}} in that profile. By default on failure {{Pkg|ifplugd}} will pass to other DHCP wired profiles, then to static ones. If you don't want it to do so, set {{ic|1=ForceConnect=yes}}.

Once your profiles are set and verified to be working, simply enable these services with

Once your profiles are set and verified to be working, simply enable these services with

−

# systemctl enable netctl-auto@<interface>.service

+

# systemctl enable netctl-auto@''interface''.service

−

# systemctl enable netctl-ifplugd@<interface>.service

+

# systemctl enable netctl-ifplugd@''interface''.service

{{Note|If any of the profiles contain errors, such as an empty {{ic|Key&#61;}} variable, the unit will fail to load at boot.}}

{{Note|If any of the profiles contain errors, such as an empty {{ic|Key&#61;}} variable, the unit will fail to load at boot.}}

If you have previously enabled a profile through {{ic|netctl}}, run

If you have previously enabled a profile through {{ic|netctl}}, run

−

# netctl disable <profile>

+

# netctl disable ''profile''

to prevent the profile from starting twice at boot, and possibly causing issues with wpa_supplicant.

to prevent the profile from starting twice at boot, and possibly causing issues with wpa_supplicant.

−

{{Note|If there is ever a need to alter a currently enabled profile, execute {{ic|netctl reenable <profile>}} to apply the changes.}}

+

{{Note|

+

* If there is ever a need to alter a currently enabled profile, execute {{ic|netctl reenable <profile>}} to apply the changes.

*For static IP configuration make sure the Address= variables have a netmask after the IP (e.g. Address=('192.168.1.23<b>/24</b>' '192.168.1.87<b>/24</b>') in the example profile).

+

* For static IP configuration make sure the Address= variables have a netmask after the IP (e.g. Address=('192.168.1.23'''/24'''' '192.168.1.87'''/24'''') in the example profile).

−

*If you setup a wireless profile according in the {{ic|wireless-wpa-configsection}} example, note that this overrides {{ic|wpa_supplicant}} options defined above the brackets. For a connection to a hidden wireless network, add {{ic|scan_ssid<nowiki>=1</nowiki>}} to the options in the {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} does not work there.

+

* If you setup a wireless profile according in the {{ic|wireless-wpa-configsection}} example, note that this overrides {{ic|wpa_supplicant}} options defined above the brackets. For a connection to a hidden wireless network, add {{ic|scan_ssid<nowiki>=1</nowiki>}} to the options in the {{ic|wireless-wpa-configsection}}; {{ic|Hidden<nowiki>=</nowiki>yes}} does not work there.

* It may be a good idea to use {{ic|1=systemctl --type=service}} to ensure that no other service is running that may want to configure the network. Multiple networking services will conflict.

−

===Passphrase obfuscation (256-bit PSK)===

+

=== Passphrase obfuscation (256-bit PSK) ===

Users ''not'' wishing to have the passphrase to their wireless network stored in ''plain text'' have the option of storing the corresponding 256-bit pre-shared key (PSK) instead, which is calculated from the passphrase and the SSID using standard algorithms.

Users ''not'' wishing to have the passphrase to their wireless network stored in ''plain text'' have the option of storing the corresponding 256-bit pre-shared key (PSK) instead, which is calculated from the passphrase and the SSID using standard algorithms.

−

* Method 1: Use '''wifi-menu -o''' to generate a config file in /etc/netctl

+

* Method 1: Use {{ic|wifi-menu -o}} to generate a config file in {{ic|/etc/netctl}}

{{Note|1=Make sure to use the '''special non-quoted rules''' for {{ic|1=Key=}} that are explained at the end of [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].}}

+

{{Note|

−

{{Note|1=The key that you put in the profile configuration is enough to connect to a WPA-PSK network, which means this procedure is only good to hide the human-readable passphrase but will not prevent anyone with read access to this file from connecting to the network. You should ask yourself if there is any use in this at all, since using the same passphrase for anything else is a very poor security measure.}}

+

* Make sure to use the '''special non-quoted rules''' for {{ic|1=Key=}} that are explained at the end of [https://github.com/joukewitteveen/netctl/blob/master/docs/netctl.profile.5.txt netctl.profile(5)].

+

* The key that you put in the profile configuration is enough to connect to a WPA-PSK network, which means this procedure is only good to hide the human-readable passphrase but will not prevent anyone with read access to this file from connecting to the network. You should ask yourself if there is any use in this at all, since using the same passphrase for anything else is a very poor security measure.

Required reading

Configuration

netctl may be used to introspect and control the state of the systemd services for the network profile manager. Example configuration files are provided for the user to assist them in configuring their network connection. These example profiles are located in /etc/netctl/examples/. The common configurations include:

ethernet-dhcp

ethernet-static

wireless-wpa

wireless-wpa-static

For wireless settings, use wifi-menu -o will generate the config file in /etc/netctl.

To use an example profile, simply copy one of them from /etc/netctl/examples/ to /etc/netctl/ and configure it to your needs:

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/

Once you have created your profile, make an attempt to establish a connection using the newly created profile by running:

# netctl start profile

If issuing the above command results in a failure, then use journalctl -xn and netctl status <profile> in order to obtain a more in depth explanation of the failure. Make the needed corrections to the failed configuration and retest.

Automatic operation

Just one profile

If you are using only one profile, once that profile is started successfully, it can be enabled using

# netctl enable profile

This will create and enable a systemd service that will start when the computer boots.

Note: The connection to a dhcp-server is only established if the interface is connected and up at boot time (or when the service starts). In order to have an automatic connection established on cable connect, proceed to #Multiple Profiles.

Multiple profiles

Whereas with netcfg there was net-auto-wireless.service and net-auto-wired.service, netctl uses netctl-auto@interface.service for wireless profiles, and netctl-ifplugd@interface.service for wired profiles. In order to make the netctl-auto@interface.service work for wireless interfaces, the package wpa_actiond is required to be installed. In order to make the netctl-ifplugd@interface.service work for wired interfaces, the package ifplugd is required to be installed. Configure /etc/ifplugd/ifplugd.conf accordingly. Automatic selection of a WPA-enabled profile by netctl-auto is not possible with option Security=wpa-config, please use Security=wpa-configsection instead.

To set preferred wired profile for auto-connecting specify AutoWired=yes in that profile. By default on failure ifplugd will pass to other DHCP wired profiles, then to static ones. If you don't want it to do so, set ForceConnect=yes.

Once your profiles are set and verified to be working, simply enable these services with

For static IP configuration make sure the Address= variables have a netmask after the IP (e.g. Address=('192.168.1.23/24' '192.168.1.87/24') in the example profile).

If you setup a wireless profile according in the wireless-wpa-configsection example, note that this overrides wpa_supplicant options defined above the brackets. For a connection to a hidden wireless network, add scan_ssid=1 to the options in the wireless-wpa-configsection; Hidden=yes does not work there.

It may be a good idea to use systemctl --type=service to ensure that no other service is running that may want to configure the network. Multiple networking services will conflict.

Passphrase obfuscation (256-bit PSK)

Users not wishing to have the passphrase to their wireless network stored in plain text have the option of storing the corresponding 256-bit pre-shared key (PSK) instead, which is calculated from the passphrase and the SSID using standard algorithms.

Make sure to use the special non-quoted rules for Key= that are explained at the end of netctl.profile(5).

The key that you put in the profile configuration is enough to connect to a WPA-PSK network, which means this procedure is only good to hide the human-readable passphrase but will not prevent anyone with read access to this file from connecting to the network. You should ask yourself if there is any use in this at all, since using the same passphrase for anything else is a very poor security measure.