나는 두 개의 네트워크 XX3.0과 XX4.0 사이를 라우팅하는 Linux 상자를 가지고 있는데, 이 네트워크를 인터넷에 연결할 수 있기를 원합니다.
내가 읽고여기그렇게 하려면 iptables를 의미하는 NAT를 사용해야 한다는 @Kevin의 훌륭한 답변에 대해 현재 내 서버는 iptables를 사용하지 않으므로 이를 활성화하려면 올바른 명령을 찾아야 합니다.
내 네트워크는 다음과 같이 설명할 수 있습니다.
Internet <-(eth0) Linux Router <-[1](eth1) 192.168.3.0 <--[2](eth2) 192.168.4.0
eth2는 라우터에 직접 연결됩니다.
두 로컬 네트워크는 서로 통신할 수 있지만 누구도 공용 IP 주소로 핑을 보낼 수 없습니다. .3.x 네트워크에 있는 한 컴퓨터의 공용 IP 주소에 ping 명령을 실행할 때 라우터에서 패킷을 스니핑하려고 시도했지만 내가 알 수 있는 한 문제가 있는 것 같습니다. 3.x IP 주소를 가진 사람에 대한 eth0 int의 끝없는 ARP 요청이 필요합니다. NAT처럼 작동하려면 라우터에서도 활성화해야 하는 것 같습니다. 검색을 했는데 언급된 명령을 시도했지만 iptables에 실행해야 하는 올바른 명령을 찾을 수 없습니다.여기그리고여기. 나는 iptables를 전혀 사용하지 않고 두 로컬 네트워크 사이를 라우팅할 수 있어야 했고, 그것이 필요하지 않기 때문에 그것 없이는 NAT를 수행하는 것이 불가능하지 않는 한 그것을 사용하지 않는 것을 선호합니다(이 경우 나는 iptable을 선호합니다) 다른 프로그램).
질문을 요약하자면: 1. 세 네트워크가 모두 서로 통신할 수 있어야 합니다. 2. 나는 iptables(가능한 경우)나 다른 추가 프로그램을 사용하지 않는 것을 선호합니다. 3. 그게 다야.
감사해요.
답변1
두 로컬 네트워크가 서로 통신할 수 있다는 것은 ip_forward가 활성화되었음을 의미합니다. 로컬 네트워크가 공용 IP 주소를 ping할 수 없으면 매스커레이딩을 수행해야 함을 의미합니다.
이 Linux 상자에서 공용 IP 주소를 ping할 수 있습니까? 그렇지 않다면 다른 문제가 있을 것입니다. 아마도 라우터를 브리지 모드로 설정해야 할 수도 있습니다(추측일 뿐입니다).
귀하의 Linux 시스템이 공개 IP를 핑할 수 있고 eth0에 공개 IP가 구성되어 있다고 가정합니다. 따라서 내부 네트워크 기기는 사설 IP 주소로는 인터넷 외부로 나갈 수 없으므로 반드시 채팅을 하셔야 합니다. 매우 간단하므로 iptables를 사용해 보십시오.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
시스템에 iptables가 설치되어 있지 않은 경우. 기본적으로 일부 방화벽이 설치되어 있어야 합니다. 어떤 배포판을 사용하고 있나요?
답변2
개인 IP 주소는 인터넷 사용에 유효하지 않으며 라우팅할 수 없습니다. 로컬에서만 사용할 수 있습니다.
인터넷 액세스를 활성화하려면 설명에 따르면 IP 전달을 활성화해야 합니다. 둘째, NATing을 사용해야 합니다. 대부분의 경우 ISP가 NAT를 대신 수행합니다. 이는 연결 유형 및 할당된 IP에 따라 변경될 수 있습니다.
도구의 경우 Linux에서 iptables보다 더 나은 도구는 없다고 생각합니다.
답변3
여러분의 사람들로부터 몇 가지 조사와 추천을 받은 후, 저는 iptable이 NATing(마스큐레이팅)을 수행하는 가장 좋은 방법이라는 결론에 도달했습니다. 그래서 저는 다음과 같이 했습니다:
#다음을 사용하여 현재 iptables 설정을 모두 플러시합니다.
$>iptables -F
그리고
$>iptables -t nat -F
그런 다음 로컬 네트워크 간에 ping을 시도하면 다음과 같이 입력되지 않는 경우 iptables의 기본값으로 작동해야 합니다.
$>iptables -P INPUT ACCEPT
$>iptables -P FORWARD ACCEPT
$>iptables -P OUTPUT ACCEPT
그런 다음 @Sachin Divekar에서 위 명령을 실행합니다(ethX를 인터넷 연결 인터페이스로 교체).
$>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
테스트해 보세요. 제대로 작동할 것입니다. 그런 다음 이 설정을 다음과 같이 저장해야 합니다.
$>iptables-save > /etc/sysconfig/iptables
완료.