„Sieć jest nieosiągalna” podczas przekazywania ruchu do wirtualnego adaptera Ethernet w oddzielnej przestrzeni nazw


0

Moim celem jest skonfigurowanie oddzielnej przestrzeni nazw na moim serwerze Linux, której mogę używać do połączenia OpenVPN, a następnie hosta VirtualBox.


Do tej pory wykonałem następujące kroki:

  1. Ustaw cronjob @reboot /home/ubuntu/startupscripts/rootscripts.sh
  2. W skrypcie powłoki wykonaj: (Dostosowane stąd) # Setup VPN ip netns add vpnspace ip link add vpnopen type veth peer name vpnbind ip link set vpnopen netns vpnspace ip netns exec vpnspace /sbin/ifconfig vpnopen 10.0.0.1/24 up (patrz pytanie) /sbin/ifconfig vpnbind up **
  3. Dodano poniższe reguły iptables i ponownie skonfigurowano iptables-persistent (zaadaptowano z) (patrz pytanie) -A FORWARD -i vpnbind -o ens3 -j ACCEPT -A FORWARD -i ens3 -o vpnbind -m state --state ESTABLISHED,RELATED -j ACCEPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE

** Dodałem ten krok, ponieważ sudo lshw -C networkpokazałem, że połączenie sieciowe nie jest aktywne. (Patrz pytanie)


Gdy próbuję sudo ip netns exec vpnspace ping 8.8.8.8z terminala, pojawia się komunikat o błędzie connect: Network is unreachable. Nie jestem pewien, dokąd się udać.

Poniżej znajdują się różne wyniki. Proszę powiedzieć w komentarzach, jeśli chcesz, żebym dodał inne.


ifconfig :

ens3      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:XXX.XXX.XXX.92  Bcast:XXX.225.222.255  Mask:255.255.255.0
          inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44943 errors:16 dropped:0 overruns:0 frame:16
          TX packets:467 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3042544 (3.0 MB)  TX bytes:49351 (49.3 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)

vpnbind   Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:648 (648.0 B)  TX bytes:0 (0.0 B)

sudo ip netns exec vpnspace ifconfig :

vpnopen   Link encap:Ethernet  HWaddr 36:28:6f:74:1b:72  
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: XXXX::XXXX:XXXX:XXXX:XXXX/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:648 (648.0 B)

Pokaż link do ip :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
3: vpnbind@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff link-netnsid 0

sudo ip netns exec vpnspace ip link pokaż :

1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
4: vpnopen@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff link-netnsid 0

/ etc / network / interfaces :

# The loopback network interface
auto lo
iface lo inet loopback

# Preconfigured by my VPS provider
auto ens3
iface ens3 inet static
        address XXX.XXX.XXX.92
        netmask 255.255.255.0
        broadcast +
        up route -A inet add XXX.XXX.XXX.1 dev ens3
        up route -A inet add default gw XXX.XXX.XXX.1 dev ens3
iface ens3 inet6 manual
        pre-down ip -6 addr flush dev ens3 scope global || :

Zaktualizowany skrypt

ip netns add vpnspace
ip link add vpnopen type veth peer name vpnbind

echo 1 > /proc/sys/net/ipv4/conf/ens3/forwarding
echo 1 > /proc/sys/net/ipv4/conf/vpnbind/forwarding

ip link set vpnbind up

ip link set vpnopen netns vpnspace
ip -n vpnspace addr add 10.0.0.1 dev vpnopen
ip -n vpnspace addr add 10.0.0.254 broadcast 10.0.0.255 dev vpnopen
ip -n vpnspace link set vpnopen up
ip -n vpnspace route add default via 10.0.0.254

Ze wszystkich wyjść /etc/network/interfacesjest jedynym, do którego nie dodałem ręcznej konfiguracji. Czy jest to konieczne przy przekazywaniu ruchu z jednego interfejsu do drugiego?
Brandon Lebedev

Odpowiedzi:


0

Domyślną trasą jest vpnspacewskazywanie na siebie. Należy dodać adres 10.0.0.254do vpnbindzamiast vpnopen.

Ponadto przypisałeś wszystkie 10.0.0.0/8 do swojej pary veth, co spowoduje problemy z dostępem do innych hostów w tym zakresie adresów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.