Wpis z mikrobloga

Mam komputer #linux #ubuntu który ma dwie karty sieciowe (enp1s0 i enp2s0). Tworzę mostek między nimi, aby wykorzystać drugą kartę jako switch. Robię taki skrypt:

ifconfig enp1s0 up 0.0.0.0
ifconfig enp2s0 up 0.0.0.0
brctl addbr br0
brctl addif br0 enp1s0
brctl addif br0 enp2s0
ifconfig br0 up 192.168.3.10 netmask 255.255.255.0 broadcast 192.168.3.1

W teorii wszystko działa - inny komputer podłączony do drugiej karty sieciowej ma dostęp do Internetu, pinguje główny komputer. Główny komputer również może pingować inny komputer. Ale jest jeden problem - główny komputer nie ma dostępu do internetu (choć w sumie przez niego internet "przechodzi"). Ifconfig zwraca:

br0: flags=4163 mtu 1500
inet 192.168.3.10 netmask 255.255.255.0 broadcast 192.168.3.1
inet6 xx:xx:xx:xx:2403 prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 3485 bytes 249760 (249.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1236 bytes 98006 (98.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp1s0: flags=4163 mtu 1500
inet6 xx:xx:xx:xx:2403 prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 20752 bytes 4246705 (4.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 59072 bytes 59266305 (59.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf200000-df27ffff

enp2s0: flags=4163 mtu 1500
inet6 xx:xx:xx:xx:2404 prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 58490 bytes 59259570 (59.2 MB)
RX errors 0 dropped 10 overruns 0 frame 0
TX packets 21682 bytes 4315398 (4.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xdf100000-df17ffff

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 2701 bytes 408040 (408.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2701 bytes 408040 (408.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Co robię źle? Jak mogę dodać dostęp do internetu dla głównego komputera na którym jest bridge?

#linux #siecikomputerowe #komputery #internet #router
  • 18
@TX2022: Ale główny komputer to ten na którym ustawiam bridge. Więc jemu resetuje oba interfejsy, co widać w skrypcie:

ifconfig enp1s0 up 0.0.0.0
ifconfig enp2s0 up 0.0.0.0

Bramę ustawiam w br0, ale w sumie jak nie ustawię bądź ustawię 192.168.3.1 czy 192.168.3.255 to bez znaczenia. Ogólnie wszystkie komputery mają statyczne IP, nie ma DHCP.
@TX2022: Jak odpalam główny komputer, bez odpalania skryptu z mostem (wtedy główny komputer ma dostęp do internetu) to ifconfig zwraca:

enp1s0: flags=4163 mtu 1500
inet6 xx:xx:xx:xx:2403 prefixlen 64 scopeid 0x20
ether xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 2 bytes 120 (120.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12 bytes 1976 (1.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory
@loginek0:
To na końcu to broadcast, a nie brama domyślna. Daj broadcast na 192.168.3.255, a bramę ustaw osobną komendą. Nie wiem jaka to będzie w ifconfig. Dla ip route byłoby to mniej więcej tak:
ip route add default via 192.168.3.1
Zamiast 192.168.3.1 daj adres, z którego główny komp powinien dostawać internet np. router lub modem.
@bramborak: @fkoczan: @TX2022: Gdy główny komputer ma dostęp do neta (przed wykonaniem skryptu) to:
route zwraca:
default _gateway 0.0.0.0 UG 0 0 0 enp2s0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 enp2s0

zaś po wykonaniu skryptu:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 br0

Komenda ip route sh - przed wykonaniem skryptu:
192.168.3.0/24 dev enp2s0 proto kernel scope link src 192.168.3.10
@TX2022: Zła praktyka ustawiać DNSy na googla. Weź już lepiej CloudFlare albo lokalny DNS który dostajesz od providera lub jeśli twoja brama to router, który dynamicznie dostaje DNSy z DHCP od providera walnij dnsy na swój router. DNSy z googla są bardzo wolne.
DNSy z googla response 18-19ms
CloudFlare 14-15ms
Providera DNS 11-12ms
Mój własny DNS 1ms

Potem ludzie kwiczą, że internety wolno działają ( ͡° ͜ʖ ͡°
@bramborak:
Po pierwsze, tylko w przypadku google znałem oba adresy z głowy.

Po drugie informacja nieprawdziwa - Google nie jest wolniejszy od innych, jest wolniejszy u Ciebie. U mnie 8.8.8.8 jest w TOP3 i dodałem go sobie jako jedno ze źródeł do własnego DNSa. ( ͡° ͜ʖ ͡°)

Po trzecie CloudFlare nie obsługuje ECS, co może sprawiać, że wyniki przez niego zwracane są mniej dopasowane do Twojej
@TX2022: Nie jest wolniejszy tylko u mnie ( ͡° ͜ʖ ͡°) Z którego regionu chcesz porównać mogę Ci dać ściągawkę z jakichś 26 regionów na całym świecie chociaż różnice nie będą spektakularne bo zazwyczaj mam DNS Google, CloudFlare w tym samym DC to centyle lepiej wyglądają w CloudFlare
@bramborak: @TX2022: @fkoczan: Chłopaki poproszę jeszcze Was o pomoc. Niby wszystko działa - tj. pinguje, apt-get update itd działa itd, ale nie działają trzy rzeczy:
1. Po odpaleniu ssh jest info: Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
Nie było tego wcześniej.
2. Nie działa speedtest-cli. Wyrzuca: ERROR: HTTP Error 403: Forbidden
Wcześniej działało.
3. Nie działa instalowanie pakietów z npm. Wyrzuca: rollbackFailedOptional: verb