무료 인터넷이 있는 로컬 네트워크에 대한 iptables 규칙은 인터넷에서 서버로의 원치 않는 연결을 차단합니까?

무료 인터넷이 있는 로컬 네트워크에 대한 iptables 규칙은 인터넷에서 서버로의 원치 않는 연결을 차단합니까?

저는 로컬 네트워크용 eth0과 인터넷용 eth1(동적 IP가 있는 케이블 모뎀)이 있는 홈 서버(슬랙웨어 13 포함)를 가지고 있습니다.

iptables에 대해 더 많이 배우고 싶지만 아직 진행 중이고 몇 가지 규칙을 완료해야 하지만, 서버가 손상되는 것을 원하지 않기 때문에 그렇게 하는 방법을 배울 때까지는 그렇게 할 수 없습니다. 이 단계.

현재 내 규칙과 모든 것을 사용할 수 있는 VM이 ​​있습니다. 누군가가 iptables가 다음을 수행하도록 방화벽 규칙을 래핑할 수 있다면 정말 감사하겠습니다.

  1. eth0에 있는 dhcp 서버의 모든 사용자가 인터넷과 서버에 대한 전체 액세스 권한을 갖도록 허용합니다. 즉, eth0에는 네트워크와 서버 내에서 어떠한 제한도 없어야 합니다.
  2. 모든 사용자가 서버를 생성할 수 있도록 허용합니다. 예를 들어 워크래프트와 같은 게임을 플레이하고 게임을 생성하는 경우 방화벽은 이러한 연결 협상을 허용해야 합니다.
  3. 서버 또는 네트워크 사용자가 시작하지 않는 한 인터넷에서 서버로의 모든 요청을 차단합니다.

답변1

그렇다면 기본적으로 Linux 상자는 방화벽 역할을 합니까?

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

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding

그런 다음 몇 가지 전달 규칙을 추가합니다.

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

FORWARD 체인을 보호하세요.

iptables -P FORWARD DROP

NAT 규칙을 만듭니다.

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

마지막으로 기본 경로가 있는지 확인하는 것을 잊지 마세요.

ip route show | grep default

다음과 비슷한 내용이 표시됩니다.

default via <IP_of_eth1's_gateway> dev eth1

그렇지 않은 경우 하나를 추가하십시오.

ip route add default vie <IP_of_eth1's_gateway> dev eth1

(일반적으로 DHCP 클라이언트는 자동으로 하나를 추가합니다)

답변2

서버를 허용하려면 포트 전달 규칙을 수동으로 추가하거나 uPnP 데몬을 사용할 수 있습니다(응용 프로그램이 uPnP를 지원하는 경우 - 많은 응용 프로그램이 지원합니다...) [linux-igd][1].

NAT-PMP는 유사하며 일부 다른 응용 프로그램에서도 사용됩니다. Linux에 대한 한 가지 구현은여기.

관련 정보