Ubuntu networking: Difference between revisions
(→DHCP) |
m (Text replacement - "[[Kategorie:" to "[[Category:") |
||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[ | [[Category:Ubuntu|Networking]] | ||
[[ | [[Category:Linux|Networking]] | ||
==Disable IPv6== | ==Disable IPv6== | ||
Line 6: | Line 6: | ||
===Create /etc/sysctl.d/60-disable-ipv6.conf=== | ===Create /etc/sysctl.d/60-disable-ipv6.conf=== | ||
Create a file named <i>/etc/sysctl.d/60-disable-ipv6.conf</i> with this content: | Create a file named <i>/etc/sysctl.d/60-disable-ipv6.conf</i> with this content: | ||
< | <syntaxhighlight lang=bash> | ||
net.ipv6.conf.all.disable_ipv6 = 1 | net.ipv6.conf.all.disable_ipv6 = 1 | ||
net.ipv6.conf.default.disable_ipv6 = 1 | net.ipv6.conf.default.disable_ipv6 = 1 | ||
net.ipv6.conf.lo.disable_ipv6 = 1 | net.ipv6.conf.lo.disable_ipv6 = 1 | ||
</ | </syntaxhighlight> | ||
===Activate /etc/sysctl.d/60-disable-ipv6.conf=== | ===Activate /etc/sysctl.d/60-disable-ipv6.conf=== | ||
< | <syntaxhighlight lang=bash> | ||
# sysctl -p /etc/sysctl.d/10-disable-ipv6.conf | # sysctl -p /etc/sysctl.d/10-disable-ipv6.conf | ||
net.ipv6.conf.all.disable_ipv6 = 1 | net.ipv6.conf.all.disable_ipv6 = 1 | ||
net.ipv6.conf.default.disable_ipv6 = 1 | net.ipv6.conf.default.disable_ipv6 = 1 | ||
net.ipv6.conf.lo.disable_ipv6 = 1 | net.ipv6.conf.lo.disable_ipv6 = 1 | ||
</ | </syntaxhighlight> | ||
===Check settings=== | ===Check settings=== | ||
< | <syntaxhighlight lang=bash> | ||
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6 | # cat /proc/sys/net/ipv6/conf/all/disable_ipv6 | ||
1 | 1 | ||
</ | </syntaxhighlight> | ||
==The ip command== | |||
===Configure bond manually=== | |||
Specify your environment | |||
<syntaxhighlight lang=bash> | |||
# mymaster1=eno5 | |||
# mymaster2=eno6 | |||
# myinterface=bond007 | |||
# myipaddr=172.16.78.9/24 | |||
# mygateway=172.16.78.1 | |||
# declare -a mynameservers=( 172.16.77.4 172.16.79.4 ) | |||
</syntaxhighlight> | |||
Create the bonding interface out of the two masters | |||
<syntaxhighlight lang=bash> | |||
# ip link add ${myinterface} type bond | |||
# ip link set ${myinterface} type bond miimon 100 mode active-backup | |||
# ip link set ${mymaster1} down | |||
# ip link set ${mymaster1} master ${myinterface} | |||
# ip link set ${mymaster2} down | |||
# ip link set ${mymaster2} master ${myinterface} | |||
</syntaxhighlight> | |||
If you want to add a VLAN to your interface | |||
<syntaxhighlight lang=bash> | |||
# myvlan=1234 | |||
# ip link add link ${myinterface} name ${myinterface}.${myvlan} type vlan id ${myvlan} | |||
# myinterface=${myinterface}.${myvlan} | |||
</syntaxhighlight> | |||
Bring your interface up and set yout ip address | |||
<syntaxhighlight lang=bash> | |||
# ip link set ${myinterface} up | |||
# ip addr add ${myipaddr} dev ${myinterface} | |||
</syntaxhighlight> | |||
Set your default gateway and DNS | |||
<syntaxhighlight lang=bash> | |||
# ip route add default via ${mygateway} | |||
# if (( ${#mynameservers[*]} > 1 )) ; then eval systemd-resolve --interface ${myinterface} --set-dns={$(IFS=,; printf '%s' "${mynameservers[*]}")} ; else eval systemd-resolve --interface ${myinterface} --set-dns=${mynameservers[0]} ; fi | |||
</syntaxhighlight> | |||
===ipa=== | |||
This is not only indian pale ale! On linux | |||
<syntaxhighlight lang=bash> | |||
# ip a | |||
</syntaxhighlight> | |||
shows you the configured addresses. | |||
It is the short cut for "ip address show". | |||
===iplishup=== | |||
This just sounds like a word and helps you to keep it in mind. | |||
<syntaxhighlight lang=bash> | |||
# ip li sh up | |||
</syntaxhighlight> | |||
shows you all links (interfaces) that are up. | |||
This is short for "ip link show up". | |||
==New since Ubuntu 17.10== | ==New since Ubuntu 17.10== | ||
===netplan=== | ===netplan=== | ||
Former configuration in /etc/network/interfaces{,.d} is now found in /etc/netplan in YAML syntax. | Former configuration in /etc/network/interfaces{,.d} is now found in /etc/netplan in YAML syntax. | ||
The name of the file is /etc/netplan/<whatever you want, I prefer the interface name>.yaml . The .yaml at the end is not optional! | |||
====netplan <command>==== | |||
To apply changes to your files in /etc/netplan without reboot use: | |||
<syntaxhighlight lang=bash> | |||
# netplan appy | |||
</syntaxhighlight> | |||
Keep in mind: You might lose your connection depending on the changes made! | |||
====DHCP==== | ====DHCP==== | ||
<i>/etc/netplan/ens160.yaml</i> | <i>/etc/netplan/ens160.yaml</i> | ||
< | <syntaxhighlight lang=yaml> | ||
network: | network: | ||
ethernets: | ethernets: | ||
Line 38: | Line 103: | ||
dhcp4: yes | dhcp4: yes | ||
version: 2 | version: 2 | ||
</ | </syntaxhighlight> | ||
====Bonding==== | ====Bonding==== | ||
<i>/etc/netplan/bond007.yaml</i> | <i>/etc/netplan/bond007.yaml</i> | ||
< | <syntaxhighlight lang=yaml> | ||
network: | network: | ||
version: 2 | version: 2 | ||
Line 71: | Line 136: | ||
- mcs.de | - mcs.de | ||
addresses: | addresses: | ||
- "192.168.3.60" | |||
- "192.168.3.61" | - "192.168.3.61" | ||
</ | </syntaxhighlight> |
Latest revision as of 01:26, 26 November 2021
Disable IPv6
Create /etc/sysctl.d/60-disable-ipv6.conf
Create a file named /etc/sysctl.d/60-disable-ipv6.conf with this content:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Activate /etc/sysctl.d/60-disable-ipv6.conf
# sysctl -p /etc/sysctl.d/10-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Check settings
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
The ip command
Configure bond manually
Specify your environment
# mymaster1=eno5
# mymaster2=eno6
# myinterface=bond007
# myipaddr=172.16.78.9/24
# mygateway=172.16.78.1
# declare -a mynameservers=( 172.16.77.4 172.16.79.4 )
Create the bonding interface out of the two masters
# ip link add ${myinterface} type bond
# ip link set ${myinterface} type bond miimon 100 mode active-backup
# ip link set ${mymaster1} down
# ip link set ${mymaster1} master ${myinterface}
# ip link set ${mymaster2} down
# ip link set ${mymaster2} master ${myinterface}
If you want to add a VLAN to your interface
# myvlan=1234
# ip link add link ${myinterface} name ${myinterface}.${myvlan} type vlan id ${myvlan}
# myinterface=${myinterface}.${myvlan}
Bring your interface up and set yout ip address
# ip link set ${myinterface} up
# ip addr add ${myipaddr} dev ${myinterface}
Set your default gateway and DNS
# ip route add default via ${mygateway}
# if (( ${#mynameservers[*]} > 1 )) ; then eval systemd-resolve --interface ${myinterface} --set-dns={$(IFS=,; printf '%s' "${mynameservers[*]}")} ; else eval systemd-resolve --interface ${myinterface} --set-dns=${mynameservers[0]} ; fi
ipa
This is not only indian pale ale! On linux
# ip a
shows you the configured addresses. It is the short cut for "ip address show".
iplishup
This just sounds like a word and helps you to keep it in mind.
# ip li sh up
shows you all links (interfaces) that are up. This is short for "ip link show up".
New since Ubuntu 17.10
netplan
Former configuration in /etc/network/interfaces{,.d} is now found in /etc/netplan in YAML syntax. The name of the file is /etc/netplan/<whatever you want, I prefer the interface name>.yaml . The .yaml at the end is not optional!
netplan <command>
To apply changes to your files in /etc/netplan without reboot use:
# netplan appy
Keep in mind: You might lose your connection depending on the changes made!
DHCP
/etc/netplan/ens160.yaml
network:
ethernets:
ens160:
dhcp4: yes
version: 2
Bonding
/etc/netplan/bond007.yaml
network:
version: 2
renderer: networkd
ethernets:
slave1:
match:
macaddress: "3c:a7:2a:22:af:70"
dhcp4: no
slave2:
match:
macaddress: "3c:a7:2a:22:af:71"
dhcp4: no
bonds:
bond007:
interfaces:
- slave1
- slave2
parameters:
mode: balance-rr
mii-monitor-interval: 10
dhcp4: no
addresses:
- 192.168.189.202/27
gateway4: 192.168.189.193
nameservers:
search:
- mcs.de
addresses:
- "192.168.3.60"
- "192.168.3.61"