다른 컴퓨터에서 인터넷에 어떻게 연결합니까?

다른 컴퓨터에서 인터넷에 어떻게 연결합니까?

여러 노드가 있는 작은 클러스터가 있습니다. 노드는 하나뿐입니다(이를 호출하겠습니다).뿌리), 인터넷에 연결할 수 있습니다. 모든 노드가 연결되어 있으므로 한 노드에서 다른 노드로 ping할 수 있지만 공개 노드(예: 루트가 아닌 노드)에서는 인터넷에 액세스할 수 없습니다.

루트 노드 ifconfig출력:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:d8:53:25  
          inet addr:192.168.10.10  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4084 errors:0 dropped:1295 overruns:0 frame:0
          TX packets:841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:249141 (243.3 KiB)  TX bytes:87110 (85.0 KiB)

eth1      Link encap:Ethernet  HWaddr b8:8d:12:54:75:aa  
          inet addr:158.184.27.129  Bcast:158.184.27.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1647 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:229772 (224.3 KiB)  TX bytes:68634 (67.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:260 (260.0 B)  TX bytes:260 (260.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:0f:13:39:02:c3  
          inet addr:158.196.122.94  Bcast:158.196.123.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37269 (36.3 KiB)  TX bytes:27150 (26.5 KiB)

루트 노드 route -n출력

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         158.184.27.1    0.0.0.0         UG    0      0        0 eth1
158.184.27.0    *               255.255.255.0   U     0      0        0 eth1
192.168.10.0    *               255.255.255.0   U     0      0        0 eth0

공개 노드 ifconfig출력:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:b3:ed:0e  
      inet addr:192.168.10.11  Bcast:192.168.10.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:5078 errors:0 dropped:2249 overruns:0 frame:0
      TX packets:1502 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:287740 (280.9 KiB)  TX bytes:179477 (175.2 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3590 (3.5 KiB)  TX bytes:3590 (3.5 KiB)

공개 노드 route -n출력:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.10   0.0.0.0         UG    0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

일반 노드에서 루트 노드를 거쳐 인터넷에 접속하는 방법을 아시나요? 저는 네트워킹에 대해 아는 바가 거의 없으므로 자세히 설명해주세요.


편집하다:

Richard Neumann의 답변을 고려하여 루트 노드에서 IP 전달을 활성화했습니다. 루트 노드가 기본 게이트웨이로 설정된 것 같습니다(공용 노드 route -n출력 참조).

그런데 아직도 인터넷이 안되네요...


편집 2:

> traceroute 8.8.8.8
1 permonik0 (192.168.10.10) 0.972ms 0.957ms 0.922ms
2 * * *
...
30 * * *

편집 3:

나는 다음과 같이 NAT를 설정했습니다.이 기사이제 8.8.8.8에도 성공적으로 ping을 실행할 수 있습니다. 하지만 여전히 웹사이트를 핑할 수 없습니다. 현재 DNS 문제가 있는 것 같습니다.

답변1

@Richard Neumann의 답변이 작동하지 않으면 아마도 DNS 문제일 것입니다.

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

IP 전달 및 위장을 설정합니다.

iptables -P FORWARD ACCEPT
iptables --table nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables --table nat --append POSTROUTING --jump MASQUERADE --source 192.168.10.10/24 
iptables-save > /root/clients.fw
echo "/sbin/iptables-restore < /root/clients.fw" >> /etc/rc.local

위 명령을 사용하면 IP 전달이 활성화되고 방화벽이 설정되어 iptables클라이언트에서 인터넷에 액세스할 수 있습니다.

답변2

당신의루트 노드으로 행동해야 할 것이다라우터다른 노드의 경우.

IPv4의 경우 IP 전달을 활성화해야 합니다.라우터:

sysctl -w net.ipv4.ip_forward = 1

지속적으로 만들려면 다음을 편집 /etc/sysctl.conf하고 설정하세요.

net.ipv4.ip_forward=1

당신은 또한하고 싶을 수도 있습니다라우터상대방의 기본 게이트웨이마디.

만약에다음 홉당신의 너머라우터네트워크 192.168.10.10/24에 대해 잘 모르는 경우 구현해야 합니다.네트워크 주소 해석(네트워크 주소 변환). 옵션 을
확인하세요 .iptablesMASQUERADE

가능한 DNS 문제는 @Hunter.S.Thompson의 답변을 참조하세요.

관련 정보