Difference between revisions of "Bridge with netctl"

From ArchWiki
Jump to: navigation, search
(Configuration: Added an example of a statically configured bridge, usage of the single quotes for the value was not immediately obvious to me, a similar example i found online helped)
(change category to Network managers)
 
(12 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Networking]]
+
[[Category:Network managers]]
 +
[[ja:Netctl でブリッジ接続]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Network bridge}}
 
{{Related|Network bridge}}
 +
{{Related|netctl}}
 
{{Related articles end}}
 
{{Related articles end}}
  
 
{{Merge|Network bridge|I suggest to move the netctl-specific parts of this article into a subsection of "Network bridge"}}
 
{{Merge|Network bridge|I suggest to move the netctl-specific parts of this article into a subsection of "Network bridge"}}
  
== Installation ==
+
Make sure [[netctl]] is installed.
  
[[pacman|Install]] the {{Pkg|netctl}} package from the [[official repositories]].
+
Copy {{ic|/etc/netctl/examples/bridge}} to {{ic|/etc/netctl/bridge}}.
  
== Configuration ==
+
In this example, we create a bridge called {{ic|br0}} which has real Ethernet adapter {{ic|eth0}} and (optionally) a tap device {{ic|tap0}} connected to it. Of course, edit {{ic|br0}}, {{ic|eth0}} and {{ic|tap0}} to your needs.
 
 
* Copy {{ic|/etc/netctl/examples/bridge}} to {{ic|/etc/netctl/bridge}}.
 
* In this example, we create a bridge called {{ic|br0}} which has real Ethernet adapter {{ic|eth0}} and (optionally) a tap device {{ic|tap0}} connected to it. Of course, edit {{ic|br0}}, {{ic|eth0}} and {{ic|tap0}} to your needs.
 
  
 
{{hc|/etc/netctl/bridge|<nowiki>
 
{{hc|/etc/netctl/bridge|<nowiki>
Line 23: Line 22:
 
</nowiki>}}
 
</nowiki>}}
  
* This example creates a statically assigned bridge called {{ic|br0}} which has real Ethernet adapter {{ic|eth0}} connected to it. Edit {{ic|br0}}, {{ic|eth0}}, {{ic|Address}}, and {{ic|Gateway}} to your needs.
+
This example creates a statically assigned bridge called {{ic|br0}} which has real Ethernet adapter {{ic|eth0}} connected to it. Edit {{ic|Interface}}, {{ic|BindsToInterfaces}}, {{ic|Address}}, and {{ic|Gateway}} to your needs.
 
{{hc| /etc/netctl/bridge|<nowiki>
 
{{hc| /etc/netctl/bridge|<nowiki>
 
Description="Example Bridge connection"
 
Description="Example Bridge connection"
Line 37: Line 36:
 
{{Tip|If you are using static IP, see man pages of [[netctl]], and also edit {{ic|/etc/resolv.conf}} if necessary.}}
 
{{Tip|If you are using static IP, see man pages of [[netctl]], and also edit {{ic|/etc/resolv.conf}} if necessary.}}
  
 +
This example ensures that the bridge gets assigned the MAC address of the ethernet device (reference https://github.com/joukewitteveen/netctl/issues/111 )
 +
 +
{{hc|/etc/netctl/bridge|<nowiki>
 +
Description="Bridge eth0-tap0"
 +
Interface=br0
 +
Connection=bridge
 +
BindsToInterfaces=(eth0 tap0)
 +
IP=no
 +
ExecUpPost="ip link set dev br0 address $(cat /sys/class/net/eth0/address); IP=dhcp; ip_set"
 +
ExecDownPre="IP=dhcp"
 +
 +
## Ignore (R)STP and immediately activate the bridge
 +
SkipForwardingDelay=yes
 +
</nowiki>}}
 +
 +
You can bridge any combination of network devices editing {{ic|BindsToInterfaces}} option.
 +
 +
If any of the bridged devices (e.g. {{ic|eth0}}, {{ic|tap0}}) had [[dhcpcd]] enabled, [[systemd#Using units|stop and disable]] the {{ic|dhcpcd@eth0.service}} daemon. Or set {{ic|1=IP=no}} to the netctl profiles.
  
* You can bridge any combination of network devices editing {{ic|BindsToInterfaces}} option.
+
Finally, [[netctl#Starting_a_profile|start and enable]] your {{ic|/etc/netctl/bridge}}.
* If any of the bridged devices (e.g. {{ic|eth0}}, {{ic|tap0}}) had [[dhcpcd]] enabled, [[systemd#Using units|stop and disable]] the {{ic|dhcpcd@eth0.service}} daemon. Or set {{ic|1=IP=no}} to the netctl profiles.
 
* Finally, [[netctl#Just one profile|start and enable]] your {{ic|/etc/netctl/bridge}}.
 

Latest revision as of 07:23, 24 May 2018

Merge-arrows-2.pngThis article or section is a candidate for merging with Network bridge.Merge-arrows-2.png

Notes: I suggest to move the netctl-specific parts of this article into a subsection of "Network bridge" (Discuss in Talk:Bridge with netctl#)

Make sure netctl is installed.

Copy /etc/netctl/examples/bridge to /etc/netctl/bridge.

In this example, we create a bridge called br0 which has real Ethernet adapter eth0 and (optionally) a tap device tap0 connected to it. Of course, edit br0, eth0 and tap0 to your needs.

/etc/netctl/bridge
Description="Example Bridge connection"
Interface=br0
Connection=bridge
BindsToInterfaces=(eth0 tap0)
IP=dhcp

This example creates a statically assigned bridge called br0 which has real Ethernet adapter eth0 connected to it. Edit Interface, BindsToInterfaces, Address, and Gateway to your needs.

 /etc/netctl/bridge
Description="Example Bridge connection"
Interface=br0
Connection=bridge
BindsToInterfaces=(eth0)
IP=static
Address='192.168.10.20/24'
Gateway='192.168.10.200'
## Ignore (R)STP and immediately activate the bridge
SkipForwardingDelay=yes
Tip: If you are using static IP, see man pages of netctl, and also edit /etc/resolv.conf if necessary.

This example ensures that the bridge gets assigned the MAC address of the ethernet device (reference https://github.com/joukewitteveen/netctl/issues/111 )

/etc/netctl/bridge
Description="Bridge eth0-tap0"
Interface=br0
Connection=bridge
BindsToInterfaces=(eth0 tap0)
IP=no
ExecUpPost="ip link set dev br0 address $(cat /sys/class/net/eth0/address); IP=dhcp; ip_set"
ExecDownPre="IP=dhcp"

## Ignore (R)STP and immediately activate the bridge
SkipForwardingDelay=yes

You can bridge any combination of network devices editing BindsToInterfaces option.

If any of the bridged devices (e.g. eth0, tap0) had dhcpcd enabled, stop and disable the dhcpcd@eth0.service daemon. Or set IP=no to the netctl profiles.

Finally, start and enable your /etc/netctl/bridge.