2014-10-31 1 views
0

이 컴퓨터에는 두 개의 인터페이스 eth0eth1이 있습니다. 내가 10.0.1.1eth1에 프록시 iptables로 들어오는 모든 트래픽을 규칙을 설정해야특정 네트워크 인터페이스에서 특정 호스트로의 전 방향 트래픽

Destination  Gateway   Genmask   Flags Metric Ref Use Iface 
default   10.0.2.1  0.0.0.0   UG 0  0  0 eth0 
10.0.2.0  *    255.255.255.0 U  0  0  0 eth0 
10.0.2.0  *    255.255.255.0 U  0  0  0 eth1 

: eth0에 기본 게이트웨이가 있습니다.

eth0은 고정 IP 주소 10.0.2.2과 연관되어 있으며 eth1은 동적임을 유의하십시오.

port forwarding with netfilter에는 약간 간단한 설정에서이를 수행하는 방법에 대한 가이드가 있지만, 예제에서 내 방법으로 이동하는 방법을 알 수는 없습니다. the link에 따라

+2

프로그래밍 질문이 아닙니다. 대신 [우분투 .se] 또는 [su]에 적합합니다. –

답변

0

건물 당신은 using the conntrack module rather than the state module을 제외하고, 제공 : 단계를 커널에 reverse path filtering을 해제 수행하기 위해

# Activate forwarding 
echo 1 > /proc/sys/net/ipv4/ip_forward 
# Forward packets coming in from the outside 
iptables -t nat -A PREROUTING -p tcp -i eth1 -j DNAT --to-destination 10.0.1.1 
# Make responses on the internal network go through the firewall 
iptables -t nat -A POSTROUTING -p tcp -d 10.0.1.1 -j SNAT --to-source 10.0.2.2 
# Allow forwarded packets 
iptables  -A FORWARD  -p tcp -d 10.0.1.1 -j ACCEPT -m conntrack --ctstate NEW,ESTABLISHED,RELATED 

here을 설명했다. 나는 귀하의 경우 의 값을 sysctl을 통해 0으로 수정하면 충분하다고 생각합니다.
이 해결 방법은 약간의 보안 결함입니다. 더 나은 접근 방법은 네트워크 구조 자체를 변경하는 것입니다.

+0

나는 이것을 사용할 수 없다. (트래픽은 기계를 떠나지 않고, "martian source"로그 메시지를 얻는다.)하지만 나는 나의 특별한 유스 케이스에서 설치를 단순화하고''eth1''을 제거 할 수 있다고 생각한다. . – malthe

+0

정확한 정확한 로그 메시지는 무엇입니까? 또한 의도적으로 라우팅 테이블에'10.0.2.0'에 대한 이중 항목이 있습니까? 두 인터페이스가 실제로 동일한 내부 네트워크에 연결되어 있습니까? 즉, 정확히 무엇을 달성하려하고 설치를 어떻게 보이게 할 것인가에 대한 더 큰 그림이 무엇인지 설명해 주시겠습니까? – Yoel

+0

라우팅 테이블 항목은 다른 인터페이스에 대한 항목입니다 (단 하나의 트래픽 만 인터넷에서 볼 수 있음). 그러나 나는''! '에 쉽게 매치 할 수 있다는 것을 깨달았다. 10.0.0.0/16''이며 단일 인터페이스 (가상 환경)에서 모든 트래픽을 수신합니다. 즉, 내 질문이 너무 의미가 있는지 확신 할 수 없습니다. – malthe