이 질문은 답변 및 의견과 관련되어 있습니다.커널 IP 전달이란 무엇입니까?
@LawrenceC를 통해
게시물 1:
따라서 위의 예에서 NIC 2에 인터넷 연결이 있는 경우 NIC 2를 기본 경로로 설정할 수 있으며 NIC 1에서 들어오지만 192.168.2.0/24에 속하지 않는 모든 트래픽은 NIC 2를 통과합니다.
그리고 포스트2:
인터넷 연결 인터페이스(위의 NIC 1)에서는 이를 수행하기 위해 온체인 iptables의 POSTROUTING에 MASQUERADE 규칙이 필요합니다. 바라보다 revsys.com/writings/quicktips/nat.html
존재하다http://www.revsys.com/writings/quicktips/nat.html그것은 말한다:
그런 다음 /dev/eth1의 내부 네트워크에서 /dev/eth0의 외부 네트워크로 패킷을 전달하도록 iptables를 구성해야 합니다.
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
왜 사용해야합니까 FORWARD
?포스트 2) 설정만으로 전달이 이루어진 경우 ip_forward
(다음에 따라)게시물 1):
echo 1 > /proc/sys/net/ipv4/ip_forward
답변1
ip_forward
허용된 패킷 전달 설정일반적으로 말하면. iptables
보안상의 이유로 일부 Linux 배포판에서는 패킷이 ip_forward
잘못 설정된 경우 등의 전달을 허용하지 않을 수 있습니다.
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
설정된 연결 또는 유사한 관련 패킷 eth0
에 대한 응답 의 패킷을 허용하는 규칙을 설정합니다 .eth1
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
eth1
에서 까지의 패킷을 허용하도록 명시적인 규칙을 설정합니다 eth0
.
이를 통해 클라이언트는 기본 구성에 관계없이 eth1
뒤에 있는 서버에 액세스할 수 있습니다 .eth0
iptables