initial content
This commit is contained in:
83
content/knowledge/lxc/lxc-networking.md
Normal file
83
content/knowledge/lxc/lxc-networking.md
Normal file
@ -0,0 +1,83 @@
|
||||
---
|
||||
title: 'LXC Networking'
|
||||
date: 2021-11-13T15:06:57Z
|
||||
draft: false
|
||||
---
|
||||
|
||||
# LXC network configurations
|
||||
|
||||
## create network bridge
|
||||
```
|
||||
brctl add br0
|
||||
```
|
||||
|
||||
## add virtual ethernet interface to container
|
||||
|
||||
Add the following lines to _/var/lib/lxc/container/config_
|
||||
```
|
||||
lxc.net.0.type = veth
|
||||
lxc.net.0.link = br0
|
||||
lxc.net.0.flags = up
|
||||
lxc.net.0.name = eth0
|
||||
```
|
||||
|
||||
## iptables
|
||||
### port forwarding
|
||||
iptables (IPv4) and ip6tables (IPv6) DNAT target to forward services to container.
|
||||
|
||||
```
|
||||
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 8448 -j DNAT \
|
||||
--to-destination 10.3.0.31:8448
|
||||
```
|
||||
|
||||
### masquerading
|
||||
Translate outgoing traffic from container to public IP address
|
||||
|
||||
```
|
||||
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
```
|
||||
|
||||
## IPv6
|
||||
### network configuration
|
||||
#### host
|
||||
```
|
||||
ip addr add fd00::1/8 dev br0
|
||||
```
|
||||
```
|
||||
cat > /etc/sysctl.d/ipv6-forwarding.conf <<EOF
|
||||
net.ipv6.conf.eth0.accept_ra = 2
|
||||
net.ipv6.conf.br0.accept_ra = 2
|
||||
net.ipv6.conf.default.accept_ra = 2
|
||||
net.ipv6.conf.all.accept_ra = 2
|
||||
|
||||
net.ipv6.conf.all.forwarding = 1
|
||||
net.ipv6.conf.default.forwarding = 1
|
||||
net.ipv6.conf.eth0.forwarding = 1
|
||||
net.ipv6.conf.br0.forwarding = 1
|
||||
EOF
|
||||
```
|
||||
|
||||
#### container
|
||||
```
|
||||
ip addr add fd00::20:1/64 dev eth0
|
||||
ip route add default via fd00::1 dev eth0
|
||||
```
|
||||
|
||||
### port forwarding
|
||||
```
|
||||
ip6tables \
|
||||
-t nat \
|
||||
-A PREROUTING \
|
||||
-d 2a03:4000:15:68::20/128 \
|
||||
-i eth0 \
|
||||
-p tcp \
|
||||
-m tcp \
|
||||
--dport 587 \
|
||||
-j DNAT \
|
||||
--to-destination [fd00::20:1]:587
|
||||
```
|
||||
|
||||
### masquerade
|
||||
```
|
||||
ip6tables -t nat -A POSTROUTING -s fd00::20:1/128 -o eth0 -j SNAT --to-source 2a03:4000:15:68::20
|
||||
```
|
Reference in New Issue
Block a user