라우터로서의 데비안 스퀴즈

라우터로서의 데비안 스퀴즈

저는 Debian Squeeze(Dreamplug)를 라우터로 설정하려고 합니다. 조각들을 서로 맞추지 못하는 것 같아요.

ETH0: 업스트림/인터넷 - DHCP-클라이언트
ETH1: 다운스트림/Lan - 192.168.0.1 DHCP-서버

sudo vim /etc/network/인터페이스

auto lo br0
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
        iface eth1 inet static
        address 192.168.0.1
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255

iface br0 inet dhcp
        bridge_ports eth0 eth1

sudo vim /etc/dhcp/dhcpd.conf

option domain-name "MyPlug.MyServer.com";
option domain-name-servers 8.8.8.8, 192.168.0.1;

default-lease-time 600000000;
max-lease-time 720000000;

subnet 192.168.0.0 netmask 255.255.255.0 {
    range 192.168.0.100 192.168.0.200;
    option routers 192.168.0.1;
    option broadcast-address 192.168.0.255;
}

sudo vim /etc/default/isc-dhcp-server

INTERFACES="eth1"

서비스 네트워킹 재시작
서비스 isc-dhcp-server 재시작

내 Windows 7 컴퓨터는 강제 릴리스/갱신 후에 IP를 선택합니다. 퍼티를 통해 서버에 한 번 연결할 수 있었습니다.

내 설정에 눈에 띄게 잘못된 것이 있나요? 아니면 내가 찾을 수 있는 다른 게 있나요?

답변1

내부 인터페이스와 외부 인터페이스를 연결하지 마십시오. 귀하의 상자는 스위치가 아니라 라우터입니다. 당신의 머신을 라우터로 만들려면 인터페이스 사이에 패킷을 전달하도록 지시해야 합니다. 나는 그렇게 한다 echo 1>/proc/sys/net/ipv4/ip_forward. IIRC 방법(TM)은 net.ipv4.ip_forward=1/etc/sysctl.conf에 행을 추가한 다음 실행합니다 /etc/init.d/procps restart.

일반적으로 /proc에 마운트되는 proc 파일 시스템은 커널 정보 및 구성을 읽고 쓸 수 있는 파일로 표현한 것입니다. /proc/sys/net/ipv4/ip_forward에 0 또는 1을 쓰면 인터페이스 간에 IP 패킷을 전달하는 커널 기능을 비활성화하거나 활성화합니다. 우리는 커널이 패킷을 전달하기를 원합니다!

이제 귀하의 컴퓨터는 라우터이지만 매커레이딩도 필요합니다. 그렇게 하려면 다음을 수행해야 합니다.

iptables -t nat -A POSTROUTING -i eth1 -o eth0 -j MASQUERADE(보다http://tldp.org/HOWTO/IP-Masquerade-HOWTO/더 알고 싶다면)

IPv4를 사용하는 한 ISP로부터 하나의 IP 주소만 얻을 수 있으며 모든 클라이언트는 인터넷에서 시스템과 상호 작용할 때 이 하나의 주소를 공유합니다. Masquerading은 이러한 IP 주소 공유를 처리하기 위한 모든 작업을 처리합니다. 요점은 매스커레이딩을 적용할 시기를 iptables에 알려줘야 한다는 것입니다. iptables가 더 이상 -i 및 -o를 허용하지 않는 경우 적합한 대체 규칙은 다음과 같습니다.

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE

서브넷 정의 192.168.0.0/24(둘 다!)를 서브넷으로 바꿔야 할 수도 있습니다.당신의 고객이 살고 있는 곳. 규칙은 "클라이언트 서브넷에서 시작되고 클라이언트 서브넷 외부의 호스트로 주소가 지정되는 모든 패킷에 대해 가장을 수행합니다"라고 말합니다.

Dreamplug는 모르지만 이 명령문을 추가할 수 있는 /etc/firewall* 또는 /etc/iptables* 파일이 있어야 재부팅할 때마다 이 명령문이 실행됩니다. "방화벽 규칙"에 대한 문서와 해당 규칙을 어디에 두어야 하는지 확인하세요.

DHCP 구성의 경우 임대 시간이 엄청나게 길어 보입니다. 3-5 0을 빼세요. 또한 그렇게 큰 숫자를 처리할 수 없거나 처리할 수 없는 클라이언트가 있을 가능성도 있습니다. 또한 도메인 이름 서버의 순서를 바꿔야 합니다. 클라이언트는 목록의 첫 번째 서버에 먼저 질문합니다. 라우터가 네임 서버 역할도 하는 경우 한동안 이전 쿼리를 기억할 가능성이 높습니다. 이는 귀하의 클라이언트가 동일한 주소를 두 번째로 요청하는 경우 Google 이름 서버에 요청하는 것보다 응답이 훨씬 더 빠르다는 것을 의미합니다.

답변2

브리지를 제거합니다. 이런 유형의 배열에서는 안전하지 않습니다.

대신 arno-iptables-firewall보안 라우터 구성을 쉽고 안전하게 설정하려면 패키지를 설치하세요. 나머지는 자동으로 처리됩니다.

데비안 패키지 설명에서:

Debian의 다른 린 iptables 프런트엔드와 달리 arno-iptables-firewall은 몇 가지 질문만으로 안전하고 제한적인 방화벽을 설정하고 로드합니다. 여기에는 NAT 및 잠재적인 네트워크 서비스(예: http 또는 ssh)를 통한 인터넷 액세스를 위한 내부 네트워크 구성이 포함됩니다.

iptables를 직접 안전하게 설정하는 방법을 모르신다면 이 패키지를 설치하세요.

관련 정보