Topologia sistemului meu:
Pe o mașină ubuntu cu 2 porturi ethernet (eth0, eth1) am conectat o altă mașină ubuntu ca client și o OCRCamera (de asemenea client).
cerința este ca mașina principală ubuntu să fie serverul și routerul DHCP, astfel încât clientul ubuntu și camera să obțină adresa IP de la mașina principală ubuntu.
Clientul ubuntu și camera trebuie să poată face ping/ssh unul pe celălalt.
cu comenzile nmcli și fișierul de configurare în „/etc/dnsmasq.d/X”, am configurat atât eth0, cât și eth1 pe mașina principală ubuntu într-un mod partajat:
Fișierul de configurare „/etc/dnsmasq.d/XXX”:
fără rezoluție
port=53
fals-priv
strict-ordine
extinde-gazde
domeniu=wombat.pixellot.com
# Setați adresa de ascultare
listen-address=192.168.101.1
dhcp-range=set:group1,192.168.101.10,192.168.101.100,24h
dhcp-option=tag:group1,option:router,192.168.101.1
dhcp-option=tag:group1,opțiune:dns-server,192.168.101.1
dhcp-option=tag:group1,option:netmask,255.255.255.0
listen-address=192.168.102.1
dhcp-range=set:group2,192.168.102.10,192.168.102.100,24h
dhcp-option=tag:group2,option:router,192.168.102.1
dhcp-option=tag:group2,option:dns-server,192.168.102.1
dhcp-option=tag:group2,option:netmask,255.255.255.0
comenzi nmcli:
sudo nmcli conexiune adăugați tip ethernet ifname eth0 ipv4.method shared con-name EthCon0
sudo nmcli conexiune adăugați tip ethernet ifname eth1 ipv4.method partajat con-name EthCon1
sudo nmcli conexiune modifica EthCon0 ipv4.addresses 169.254.101.1/24
sudo nmcli conexiune modifica EthCon1 ipv4.addresses 169.254.101.2/24
sudo nmcli connection up EthCon0
sudo nmcli connection up EthCon1
Iată cum arată ifconfig pe mașina principală Ubuntu:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.101.1 netmask 255.255.255.0 difuzare 192.168.101.255
inet6 fe80::c706:5a57:f51d:a8b0 prefixlen 64 scopeid 0x20<link>
eter 48:b0:2d:3b:6d:0b txqueuelen 1000 (Ethernet)
Pachete RX 76802 octeți 6700303 (6,7 MB)
Erori RX 0 a scăzut 8 depășiri 0 cadru 0
Pachete TX 73153 octeți 7426646 (7,4 MB)
Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
întreruperea dispozitivului 37
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.102.1 netmask 255.255.255.0 difuzare 192.168.102.255
inet6 fe80::cf74:51de:1317:fe42 prefixlen 64 scopeid 0x20<link>
ether ae:aa:82:3c:08:6c txqueuelen 1000 (Ethernet)
Pachete RX 41 octeți 4289 (4,2 KB)
Erori RX 0 a scăzut 0 depășiri 0 cadru 0
Pachete TX 187 octeți 29743 (29,7 KB)
Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
Clientul ubuntu și camera conectată la eth0 și, respectiv, eth1 au primit o adresă de ip și este disponibil ping:
pixellot@wombat:~$ sudo ping 192.168.101.98
PING 192.168.101.98 (192.168.101.98) 56(84) octeți de date.
64 de octeți de la 192.168.101.98: icmp_seq=1 ttl=64 time=0.581 ms
64 de octeți de la 192.168.101.98: icmp_seq=2 ttl=64 time=0,569 ms
pixellot@wombat:~$ sudo ping 192.168.102.32
PING 192.168.102.32 (192.168.102.32) 56(84) octeți de date.
64 de octeți de la 192.168.102.32: icmp_seq=1 ttl=64 time=0,451 ms
64 de octeți de la 192.168.102.32: icmp_seq=2 ttl=64 time=0,508 ms
dar, când încerc să dau ping de la clientul ubuntu la cameră, nu va funcționa:
yvesh@yvesh-XPS-15-9510:~$ ping 192.168.102.32
PING 192.168.102.32 (192.168.102.32) 56(84) octeți de date.
De la 192.168.101.98 icmp_seq=1 Gazdă destinație inaccesabilă
De la 192.168.101.98 icmp_seq=2 Gazdă destinație inaccesibilă
Cum pot face ambii clienți să comunice între ei?
Există vreo soluție de rutare la această problemă? (Nu ssh-tunneling)
Am incercat multe lucruri, dar am ramas foarte rau si nu ma pot dezvolta mai departe :-(
Te rog ajuta-ma! <3