Indo ao redor do loopback

0

Minha tarefa é criar um cliente tcp python e um servidor no mesmo PC para que o cliente trabalhe em uma interface Ethernet e o servidor funcione em outra. O tráfego deve viajar através de cabos e de uma rede de hardware específica.

O problema é que o tráfego na verdade não sai do PC e toda a conexão tcp funciona no loopback.

Como faço para forçar o tráfego a passar pelas interfaces reais?

A máquina virtual não é uma opção.

Alguns detalhes técnicos:

o servidor deve estar na eth1 192.168.2.59

o cliente deve estar em eno1 192.168.1.32

# server
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the port
server_address = ('192.168.2.59', 10000)
print('starting up on %s port %s' % server_address)
sock.bind(server_address)
# Listen for incoming connections
sock.listen(1)
...


#client
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(('192.168.1.32',6667))
# Connect the socket to the port where the server is listening
server_address = ('192.168.2.59', 10000)
print >>sys.stderr, 'connecting to %s port %s' % server_address
sock.connect(server_address)
...

O que eu tentei:

  1. o firejail

    $ firejail --net=eth1 python tcpServer.py
    $ firejail --net=eno1 python tcpClient.py
    
  2. uma tentativa de suicídio para unir eno1 e lo XD. Mas brctl se recusou a adicionar lo

  3. edite a tabela de roteamento

    route add -net 127.0.0.0 netmask 255.0.0.0 metric 1 dev lo
    

    assumindo que quanto menos métrica menos prioridade a rota terá.

resultando em

~# /sbin/route 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 eno1
default         192-168-2-1.el  0.0.0.0         UG    101    0        0 eth1
192.168.2.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     1      0        0 lo
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eno1
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eno1

Nada funcionou como você pode imaginar.

    
por Pheu Verg 22.03.2018 / 14:12

0 respostas