Eu gostaria de saber como ser capaz de:
Se eu apenas inicializar usando:
sudo systemd-nspawn -b -D debian_master
Eu posso mudar a porta de sshd
e então eu posso me conectar a ela através do ssh, e também conectar-me à internet, mas então não é encaminhamento de porta.
Eu também tentei:
sudo bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo systemd-nspawn -b -D ./debian_master -n -p 23:22
mas eu nem consigo me conectar à internet.
Aqui está o resultado do meu comando ip a
no contêiner:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: host0@if6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 72:ba:f6:a1:ca:f0 brd ff:ff:ff:ff:ff:ff link-netnsid 0
Obrigado!
- EDITAR
O sistema host é debian sid, e o contêiner é estável no debian. Para criar este contêiner, acabei de executar:
sudo debootstrap stable debian_master http://deb.debian.org/debian/
e depois editei a senha usando:
sudo systemd-nspawn -D debian_master
passwd
logout
e depois posso tentar iniciá-lo:
sudo systemd-nspawn -b -D debian_master -n -p 22:23
... e tenha algum problema de conexão. E não é problema de DNS ou Firewall, nem consigo pingar 8.8.8.8
, pois nem tenho um ip local (confira meu ip a
acima)
Eu também tentei executar o systemd-networkd no host e no container, mas não funciona:
sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd
No contêiner, recebo um erro
sudo: unable to resolve host <my host hostname>: Connection refused
- EDIT 2 -
Eu progredi ... eu editei no lado do host o arquivo /etc/systemd/network/MyDhcp.network
assim:
[Match]
Name=en*
[Network]
DHCP=ipv4
IPForward=1
IPMasquerade=yes
e agora eu tenho um IP. Mas eu ainda não consigo pingar 8.8.8.8
, talvez tenha algo a ver com o encaminhamento de pacotes ...
- EDIT 3 -
Eu ainda progrido, agora, se eu criar o seguinte arquivo e reinicializar, eu tenho internet e até DNS:
$ cat /etc/sysctl.d/ip_forward.conf
net.ipv4.ip_forward = 1
Também garanti que tudo neste comentário estava correto: link .
Agora consigo me conectar por meio da interface recém-criada, usando algo como:
ssh [email protected] -p 22
Mas eu não sei porque,
ssh root@localhost -p 23
não funciona. Então, qual é o significado da opção -p
? Eu também tentei correr
sudo netstat -antp | grep 23
mas nada de interessante está aqui. Como lembrete, aqui está o comando que eu uso:
sudo systemd-nspawn -b -D debian_master -n -p 23:22