Próbuję skonfigurować serwer domowy z dwoma połączeniami, ale uderzam w ścianę, której nie mogę się wspinać podczas konfigurowania interfejsów.
To jest w Ubuntu 16.04, jeśli to ma znaczenie. Mam jedną wbudowaną kartę sieciową i jedną kartę sieciową PCI-E. Nazywają się enp10s0 i enp3s0.
/ etc / network / interfaces
auto lo
iface lo inet loopback
auto enp10s0
iface enp10s0 inet static
address 192.168.0.170
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
gateway 192.168.0.1
auto enp3s0
iface enp3s0 inet static
address 192.168.178.22
netmask 255.255.255.0
/ etc / iproute2 / rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
21 enp3s0
Zasady, które zrobiłem dla tej tabeli:
# Create route table
ip route add 192.168.178.0/24 dev enp3s0 table 21
ip route add default via 192.168.178.1 dev enp3s0 table 21
Pokaż trasę IP:
default via 192.168.0.1 dev enp10s0 onlink
169.254.0.0/16 dev enp3s0 scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.19.0.0/16 dev br-d5225db5076a proto kernel scope link src 172.19.0.1 linkdown
192.168.0.0/24 dev enp10s0 proto kernel scope link src 192.168.0.170
192.168.178.0/24 dev enp3s0 proto kernel scope link src 192.168.178.22
Drugi i trzeci są dla Dockera, ale zakładam, że nie są ważne.
Teraz, gdy pinguję z domyślnego interfejsu enp10s0
wszystko działa dobrze, ale gdy próbuję pingować z drugiego interfejsu enp3s0
dostaję
ping -I enp3s0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.178.22 enp3s0: 56(84) bytes of data.
From 192.168.178.22 icmp_seq=1 Destination Host Unreachable
From 192.168.178.22 icmp_seq=2 Destination Host Unreachable
From 192.168.178.22 icmp_seq=3 Destination Host Unreachable
Teraz niestety moja wiedza o sieci nie jest tak duża, jak bym chciała, więc nie mogę tego zrozumieć. Każda pomoc byłaby bardzo mile widziana.
źródło
ip rule
? Podobnie jak w przypadku zasad obowiązujących w systemie, aby używał drugiej tabeli?ip rule add priority 1000 fwmark 21 table 21
999: from 192.168.178.0/24 lookup enp3s0
Ten w moim poprzednim komentarzu dotyczy kierowania wszystkich pakietów od określonego użytkownika do tego interfejsu, więc chyba nie ma to znaczenia (i brakuje komend tabel ip, aby zaznaczyć te pakiety, ale ta część mojego skryptu działa tak, że jest w porządku)Odpowiedzi:
Prawdopodobnie zapora na drugim hoście 192.168.178.1 nie jest taka sama jak skonfigurowana brama 192.168.0.1 //.
Korzystając z iptables, upewnij się, że konfigurujesz wejście, wyjście oraz ruch tranzytowy.
Po ponownym uruchomieniu komputera co się dzieje? Czy próbowałeś ifdown i amp & amp; ifup?
Spróbuj skonfigurować od samego początku i postępuj zgodnie ze wskazówkami dotyczącymi konfigurowania interfejsów. Wystarczy tylko włączyć DHCP w interfejsie.
Gdy sprzęt zostanie dodany do komputera i kiedy możesz przypisać adres sprzętowy, otrzymasz wartość nazwy dla tego adresu ... jak en0 lub eth1. Przypisz localhost i dodaj interfejs do urządzenia loopback. Na przykład w / etc / hosts dodaj linię, aby powiązać interfejs z pętlą zwrotną. tj. 127.0.1.1.
Gdy wszystko działa poprawnie, pozwól, aby faktycznie odbierać ruch. Sprawdź Ubuntu Firewall.
$ sudo status ufw $ sudo ufw wyłącza
Używaj tej opcji tylko do testowania. Później użyj „ufw enable”, aby sprawdzić, czy zapora nie blokuje ruchu. Na tym hoście lub hostie skierowanym do znajduje się inna sieć. Maska rozgłoszeniowa dla identyfikatora podsieci musi mieć 255.255.0.0, ponieważ znajduje się w domenie z 255 x 255 serwerami, +1.
Routowany host 192.168.178.1 otrzyma ruch. W zaporze ICMP ICMP_REPLY musi być dozwolone, a Twój host skonfigurowany tak, aby mógł odbierać.
Również pakiet ICMP musi mieć wartość TTL.
źródło