Ubuntu networking: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
m (Text replacement - "[[Kategorie:" to "[[Category:")
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Kategorie:Ubuntu|Networking]]
[[Category:Ubuntu|Networking]]
[[Kategorie:Linux|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:
<source lang=bash>
<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
</source>
</syntaxhighlight>


===Activate /etc/sysctl.d/60-disable-ipv6.conf===
===Activate /etc/sysctl.d/60-disable-ipv6.conf===
<source lang=bash>
<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
</source>
</syntaxhighlight>


===Check settings===
===Check settings===
<source lang=bash>
<syntaxhighlight lang=bash>
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
1
</source>
</syntaxhighlight>


==The ip command==
==The ip command==
===Configure bond manually===
===Configure bond manually===
Specify your environment
Specify your environment
<source lang=bash>
<syntaxhighlight lang=bash>
# mymaster1=eno5
# mymaster1=eno5
# mymaster2=eno6
# mymaster2=eno6
# myinterface=bond007
# myinterface=bond007
# myipaddr=172.16.78.9
# myipaddr=172.16.78.9/24
# mygateway=172.16.78.1
# mygateway=172.16.78.1
# declare -a mynameservers=( 172.16.77.4 172.16.79.4 )
# declare -a mynameservers=( 172.16.77.4 172.16.79.4 )
</source>
</syntaxhighlight>


Create the bonding interface out of the two masters
Create the bonding interface out of the two masters
<source lang=bash>
<syntaxhighlight lang=bash>
# ip link add ${myinterface} type bond
# ip link add ${myinterface} type bond
# ip link set ${myinterface} type bond miimon 100 mode active-backup
# ip link set ${myinterface} type bond miimon 100 mode active-backup
Line 46: Line 46:
# ip link set ${mymaster2} down
# ip link set ${mymaster2} down
# ip link set ${mymaster2} master ${myinterface}
# ip link set ${mymaster2} master ${myinterface}
</source>
</syntaxhighlight>


If you want to add a VLAN to your interface
If you want to add a VLAN to your interface
<source lang=bash>
<syntaxhighlight lang=bash>
# myvlan=1234
# myvlan=1234
# ip link add link ${myinterface} name ${myinterface}.${myvlan} type vlan id ${myvlan}
# ip link add link ${myinterface} name ${myinterface}.${myvlan} type vlan id ${myvlan}
# myinterface=${myinterface}.${myvlan}
# myinterface=${myinterface}.${myvlan}
</source>
</syntaxhighlight>


Bring your interface up and set yout ip address
Bring your interface up and set yout ip address
<source lang=bash>
<syntaxhighlight lang=bash>
# ip link set ${myinterface} up
# ip link set ${myinterface} up
# ip addr add ${myipaddr} dev ${myinterface}
# ip addr add ${myipaddr} dev ${myinterface}
</source>
</syntaxhighlight>


Set your default gateway and DNS
Set your default gateway and DNS
<source lang=bash>
<syntaxhighlight lang=bash>
# ip route add default via ${mygateway}
# 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
# 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
</source>
</syntaxhighlight>


===ipa===
===ipa===
This is not only indian pale ale! On linux  
This is not only indian pale ale! On linux  
<source lang=bash>
<syntaxhighlight lang=bash>
# ip a
# ip a
</source>
</syntaxhighlight>
shows you the configured addresses.
shows you the configured addresses.
It is the short cut for "ip address show".
It is the short cut for "ip address show".
Line 77: Line 77:
===iplishup===
===iplishup===
This just sounds like a word and helps you to keep it in mind.
This just sounds like a word and helps you to keep it in mind.
<source lang=bash>
<syntaxhighlight lang=bash>
# ip li sh up
# ip li sh up
</source>
</syntaxhighlight>
shows you all links (interfaces) that are up.  
shows you all links (interfaces) that are up.  
This is short for "ip link show up".
This is short for "ip link show up".
Line 90: Line 90:
====netplan <command>====
====netplan <command>====
To apply changes to your files in /etc/netplan without reboot use:
To apply changes to your files in /etc/netplan without reboot use:
<source lang=bash>
<syntaxhighlight lang=bash>
# netplan appy
# netplan appy
</source>
</syntaxhighlight>
Keep in mind: You might lose your connection depending on the changes made!
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>
<source lang=yaml>
<syntaxhighlight lang=yaml>
network:
network:
   ethernets:
   ethernets:
Line 103: Line 103:
       dhcp4: yes
       dhcp4: yes
   version: 2
   version: 2
</source>
</syntaxhighlight>


====Bonding====
====Bonding====
<i>/etc/netplan/bond007.yaml</i>
<i>/etc/netplan/bond007.yaml</i>
<source lang=yaml>
<syntaxhighlight lang=yaml>
network:
network:
   version: 2
   version: 2
Line 138: Line 138:
             - "192.168.3.60"
             - "192.168.3.60"
             - "192.168.3.61"
             - "192.168.3.61"
</source>
</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"