iptables를 사용한 브리지와 같은 양방향 전달

iptables를 사용한 브리지와 같은 양방향 전달

나는 리눅스 박스를 가지고 있습니다. 두 개의 인터페이스(eth0, eth1)가 있습니다.

eth0은 위쪽이고 eth1은 아래쪽 연결입니다.

eth0, eth1은 각 스위치(s/w0, s/w1)에 연결되어 있습니다.

s/w0은 인터넷으로 나가고, s/w1은 노트북 하나로 연결되어 있습니다.

그리고 저는 eth0 , eth1 브리지처럼 양방향 전달을 원합니다.

그러나 brctl을 사용하지 않고 iptables만 사용합니다.

따라서 iptables 규칙 세트가 정확하다면 노트북은 인터넷을 사용할 수 있어야 합니다.

이 규칙을 시도했지만 작동하지 않습니다.

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

도움을 주시면 감사하겠습니다.

편집하다.

내 네트워크는 아래와 같습니다.

internet - router - switch0 - eth0:linuxBox:eth1 - switch1 - laptop 

아래와 같이 brctl을 이용하여 브릿지를 만들면 노트북에서도 인터넷을 사용할 수 있습니다.

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
brctl stp br0 off
ifconfig br0 up

내 목표는 brctl을 대체하기 위해 iptables 규칙을 만드는 것입니다.

답변1

원하는 것을 지정해야 합니다. 브리지는 NAT를 수행하지 않으며 인터넷은 브리지가 작동하는 이더넷처럼 작동하지 않습니다.
Nat을 사용하여 인터넷 게이트웨이를 갖고 Linux 박스의 IP 라우팅 테이블에 따라 패키지를 전달하려는 경우 iptables 경로는 꽤 괜찮아 보입니다. 해당 상자에서 IP 전달이 활성화되어 있고 랩톱의 기본 게이트웨이가 Linux 상자의 eth1 주소로 설정되어 있는지 확인하면 됩니다.


따라서 업데이트 후에는 브리지가 필요하지 않습니다. 게이트웨이로 충분합니다.
1. Linux 박스의 인터페이스가 서로 다른 서브넷에 있는지 확인하십시오. 또는 라우팅 테이블에서 게이트웨이 인터넷 라우터를 통해 eth0에 기본 경로가 있고 로컬 네트워크(예: 노트북이 있는 곳)에 대한 다른 트래픽이 eth1로 전송되는지 확인하세요.
2, eth1과 동일한 네트워크에 있는 IP를 사용하고 eth1인 경우 인터페이스 주소로 설정된 기본 라우터를 사용하여 노트북에 고정 IP 구성을 만듭니다. 또는 Linux 상자에 DHCP 서버를 구성하십시오.
3. Linux 상자에서 IP 전달이 활성화되어 있는지 확인하십시오.

답변2

당신은 시도 할 수 있습니다

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
iptables –A FORWARD –i eth0 –o eth1 –m state  --state RELATED,ESTABLISHED –j ACCEPT
iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT

그런 다음 IP 테이블 규칙을 저장하십시오.

iptables-save
iptables-save > /etc/sysconfig/iptables
systemctl restart iptables.service

그런 다음 iptables 파일을 열고 규칙을 편집하고 이러한 규칙을 거부 규칙 위로 이동하십시오.

iptables –A FORWARD –i eth0 –o eth1 –m state  --state RELATED,ESTABLISHED –j ACCEPT
iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT
A FORWARD -o vibr0 -j REJECT --reject-with icmp-port-unreachable
A FORWARD -i vibr0 -j REJECT --reject-with icmp-port-unreachable

관련 정보