Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam,
Mam mały problem ponieważ mam wirtualną maszynę, do której są przypisane dwie kart sieciowe.
Karta ens001 ma IP 10.20.50.100
Karta ens104 ma IP 10.25.40.200
Mam skonfigurowanego demona sshd jako że ma nasłuchiwać na adresie 0.0.0.0 oraz porcie 22. Jednak połączenie zdalne jest możliwe tylko i wyłącznie poprzez jedną kartę sieciową, a mianowicie ens104 [10.25.40.200] . Na drugi adres nie można się połączyć. Wydaje mi się, że demon przy ustawieniu nasłuchiwania na 0.0.0.0 powinien realizować połączenie na wszystkich dostępnych interfejsach. Czy może jestem w błędzie?
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 100 0 0 ens104 default _gateway 0.0.0.0 UG 100 0 0 ens001 10.20.50.0 0.0.0.0 255.255.255.0 U 100 0 0 ens001 _gateway 0.0.0.0 255.255.255.255 UH 100 0 0 ens001 10.25.40.0 0.0.0.0 255.255.255.0 U 100 0 0 ens104 _gateway 0.0.0.0 255.255.255.255 UH 100 0 0 ens104 dns.intranet _gateway 255.255.255.255 UGH 100 0 0 ens104 dns.intranet _gateway 255.255.255.255 UGH 100 0 0 ens001 dns2.intranet _gateway 255.255.255.255 UGH 100 0 0 ens104 dns2.intranet _gateway 255.255.255.255 UGH 100 0 0 ens001
Jak skonfigurować usługę, żeby nasłuchiwała na wszystkich interfejsach?
Offline
Zamieszczam wyniki poleceń:
debs@uni:~$ sudo netstat -napletu | egrep -i ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 107327 25701/sshd: /usr/sb tcp 0 64 10.20.40.200:22 10.17.18.10:65081 ESTABLISHED 0 267076 31962/sshd: admin
debs@uni:~$ sudo ss -napetu | egrep -i ssh tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=25701,fd=3)) ino:107327 sk:d cgroup:/system.slice/ssh.service <-> tcp ESTAB 0 112 10.20.40.200:22 10.17.18.10:65081 users:(("sshd",pid=32068,fd=4),("sshd",pid=31962,fd=4)) timer:(on,232ms,0) ino:267076 sk:1003 cgroup:/system.slice/ssh.service <->
Tak wygląda moja topologia:
Host +----------------+ Intranet <-----> | ens001 | | 10.20.50.100 | |----------------| | ens104 | +----------+ +----------+ | 10.25.40.200 | <-----> | Firewall | <-----> | Internet | +----------------+ +----------+ +----------+
Wirtualna maszyna ma dwie karty ze względu, że podsieć na interfejsie ens001 nie ma wyjścia w świat.
Natomiast druga karta ens104 ma wyjście do świata, które jest po drodze filtrowane przez zaporę ogniową.
Na hoście będzie uruchomiony kontroler do zarządzania urządzeniami sieciowymi w podsieci 10.20.50.0/24 (Intranet), jednak wymaga on również dostępu do internetu, ze względu, że pobiera aktualizacje i sprawdza klucz licencyjny.
Ostatnio edytowany przez autominus (2024-02-17 15:02:49)
Offline
Jak próbuję się połączyć przez SSH na ens001, to w TCPDUMP widzę tylko ruch przychodzący. Myślę, że problem jest chyba w tablicy routingu bo mam ją jedną.
Czy czasem nie muszę stworzyć w systemie osobnych tablic routingu dla każdego interfejsu?
Offline
Tak na szybko wziąłem mojej wirtualce dodałem drugi interfejs sieciowy, przypisałem IP do niego i od tak SSH nasłuchuje i łączy po dwóch adresach IP.
Tabllica routingu dotyczy ruchu wychodzącego, nie przychodzącego.
Może podziel się konfiguracją demona SSH?
No chyba, że klient, którym próbujesz się połączyć na serwer ma problem z lokalizowaniem serwera/dostępem do niego.
Ostatnio edytowany przez thalcave (2024-02-17 16:31:18)
Offline
No widać, że ssh nasłuchuje na każdym interfejsie. Więc konfiguracja ssh jest prawidłowa i powinien łapać zapytania na obu adresach IP. A ping na oba adresy lata?
Offline
Tak, diagnozując dalej doszedłem do tego, że rzeczywiście demon nasłuchuje na obu interfejsach. Problem leży w tablicy routingu.
Zapewne we wpisach:
Destination Gateway Genmask Flags Metric Ref Use Iface default _gateway 0.0.0.0 UG 100 0 0 ens104 default _gateway 0.0.0.0 UG 100 0 0 ens001
Analizując ruch za pomocą TCPDUMP widzę, że mam pakiety ICMP przychodzące na kartę ens001, ale odpowiedzi wychodzą przez kartę ens104. Czyli zgodnie z pierwszym wpisem w hierarchii tablicy routingu:
default _gateway 0.0.0.0 UG 100 0 0 ens104
Powiem szczerze, że pierwszy raz się spotkałem z takim przypadkiem i cały czas myślę jak rozwiązać ten problem.
Może jakoś za pomocą IPTABLES markować ruch, żeby pakiety wychodziły interfejsem z którego było inicjowane/przychodzące połączenie?
Offline
A pokaż:
# ip route show
Rzuć sobie okiem na ten artykuł. Tam co prawda trochę inne zastosowanie ale sporo rzeczy jest wspólne.
Ostatnio edytowany przez morfik (2024-02-18 00:20:31)
Offline
Strony: 1