Linux를 라우터로 변환 - eth0:0에서 eth0으로의 트래픽

Linux를 라우터로 변환 - eth0:0에서 eth0으로의 트래픽

그래서 저는 Mint를 실행하는 리눅스 박스를 라우터로 변환하려고 노력해 왔습니다. eth0에는 IP 주소가 71.xx.xx.xx인 공개 주소가 있습니다. eth0:0을 생성하고 IP 주소 10.0.0.100으로 설정했습니다. eth0에서 DHCP 서버를 시작했고(eth0:0을 사용하지 않기 때문에) 10.0.0.101에서 10.0.0.200 사이의 주소를 제공했습니다. 동일한 머신에서 eth0과 eth0:0 사이를 ping할 수 있습니다. 스위치를 통해 Linux에 연결된 다른 노트북이 있고 DHCP 서버를 통해 IP 주소를 받을 수 있습니다. 문제는 10.0.0.x 개인 네트워크의 컴퓨터가 eth0의 고정 IP를 통해 인터넷에 액세스할 수 있도록 트래픽을 eth0:0에서 eth0으로 또는 그 반대로 라우팅하는 방법입니다.

답변1

라우팅 메커니즘을 통해 전달하려면 최소한 2개의 인터페이스가 필요합니다. 인터페이스는 물리적 인터페이스(예: eth0 eth1), vlan(eth0.1 eth0.2), vpn(tun), 브리지(br0), bond...여야 하지만 별칭은 아니어야 합니다. 앨리어싱은 동일한 인터페이스에 더 많은 IP를 연결하는 방법일 뿐입니다.

그러나 개인 IP 주소가 있으므로 Netfilter(iptables) 방화벽 규칙을 사용하여 SNAT 및 DNAT를 수행하여 IP 트래픽을 전달할 수 있습니다.

답변2

먼저 전달을 활성화합니다.

   echo 1 > /proc/sys/net/ipv4/ip_forward

"게이트웨이"가 양쪽을 모두 볼 수 있으므로 이것이 필요한 전부입니다. 그렇지 않은 경우 iptables허용된 전달을 사용하는 기존 방법은 단일 NIC에서만 작동하므로 내팅을 고려할 수 있습니다 .

답변3

노력하다

# Ensure that ip forwarding is active
echo 1 > /proc/sys/net/ipv4/ip_forward
# Masquerade local net with public IP
iptables -I POSTROUTING -t nat -o eth0 -j SNAT --to-source 71.xx.xx.xx

답변4

먼저 전달을 활성화합니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

그런 다음 다음을 시도하십시오.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A FORWARD -i eth0 -o eth0:0 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0:0 -o eth0 -j ACCEPT 

관련 정보