게이트웨이 / 라우터 및 방화벽으로서의 우분투 14.04


16

현재 시스템 설정은 Ubuntu 14.04 Desktop 64 Bit이며 공용 IP를 사용하는 라우터에서 인터넷을 사용하고 있습니다

eth0 - WAN Public IP 182.x.x.x  
eth1 - LAN private IP 192.168.0.1

지금은 나의 시스템을 사용하여 다른 컴퓨터에이 연결을 배포하려는 GatewayIP가 내 시스템 192.168.0.1및 네트워크의 다른 컴퓨터가 고정 IP를 사용 192.168.0.2하고 192.168.0.255 같은 static및 / 또는 DHCP.

또한 네트워크에있는 다른 시스템의 트래픽을 모니터링하고 제어 할 수 있도록 시스템에 방화벽을 설정하려고합니다.

답변:


15
  1. 터미널 열기 Ctrl+ Alt+T

  2. interfaces파일 을 편집하려면 다음 명령을 입력하십시오 .

    sudo vim /etc/network/interfaces
    
  3. 다음 줄을 사용하여 파일을 편집하십시오. ( netmask및 추가 gateway)

    auto lo 
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 182.x.x.x 
    netmask  x.x.x.x 
    gateway x.x.x.x
    
    auto eth1
    iface eth1 inet static 
    address 192.168.0.1
    netmask x.x.x.x
    
  4. 이제 편집 /etc/sysctl.conf하고 주석을 해제하십시오.

    # net.ipv4.ip_forward=1
    

    다음과 같이 읽습니다.

    net.ipv4.ip_forward=1
    

    입력하여 저장하십시오

    sudo sysctl -p /etc/sysctl.conf

  5. IP 마스커레이딩을 사용하려면 터미널에 다음 명령 세트를 입력하십시오.

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

업데이트 : 명령이 실패하는 이상한 "-상태"수정 및 nat MASQUERADE를 eth0으로 수정 (인터페이스 인터페이스)


조언대로 모든 것을 수행했지만 ... / etc / network / interfaces를 편집하고 서비스를 다시 시작하면 eth1에 자동으로 연결되고 eth0을 통해 인터넷에 연결되지 않습니다. GUI 모드를 사용하여 connectio를 편집하면 eth0을 사용하여 인터넷에 연결합니다. 이제 문제는 IP 192.168.0.5/nm.255.255.255.0/gw.192.168.0.1을 사용하여 클라이언트 컴퓨터를 인터넷에 연결할 수 없다는 것입니다. 어떠한 제안?
산티 Varghese

3
줄을 변경 한 후 새 값을 적용하기 위해 net.ipv4.ip forward=1실행 하고 싶다는 것을 추가하고 싶습니다 sudo sysctl -p /etc/sysctl.conf.
Samuel Li

2
5 단계에서 마지막 두 줄로 장치를 교체했지만 기본 보안에 대한 언급이 없습니다 (즉, 앞으로 DROP 정책이 있어야 함).
chreekat

3

@chreekat의 의견은 이더넷 어댑터가 @Anbu의 답변 5 단계에서 스왑 된 것으로 정확하며 (2017-02-21 현재) 공개 네트워크의 모든 사람이 개인 네트워크에 무제한 액세스 할 수있는 거대한 보안 구멍을 만듭니다. .

5 단계의 올바른 구성은 다음과 같습니다.

작동 이론 : (규칙 # 2) 퍼블릭 네트워크 (eth0)에서 들어오는 패킷은 퍼블릭 패킷이 호스트가 설정 한 대화와 관련된 경우에만 프라이빗 네트워크 (eth1)로 전달되도록 허용됩니다. 개인 네트워크. (규칙 # 3) 개인 네트워크 (eth1)에서 들어오는 모든 패킷을 수락하고 공용 네트워크 (eth0)로 전달하십시오.

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

0

이것이 내가 사용하는 것, 항상 잘 작동합니다. 다양한 튜토리얼의 조합. Ubuntu 16.04LTS에서도 테스트되었습니다.

단계 A-- ufw가 설치되어 있는지 확인

sudo apt-get install ufw

단계 B – 네트워크 인터페이스를 구성하십시오 .

sudo nano /etc/network/interfaces

인터페이스 파일을 다음과 같이 구성하십시오 .

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The WAN primary network interface
iface eth0 inet static
        address 182.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx

#LAN side interface
auto eth1
iface eth1 inet static
        address 192.168.0.1
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        address 192.168.0.1

nano 또는 선호하는 다른 편집기에서 CTRL-X를 선택하여 파일을 저장하십시오.

단계 C – IP 전달 허용 . 전달을 설정하십시오. /etc/sysctl.conf 파일을 편집하십시오

sudo nano /etc/sysctl.conf

이 줄에 주석 제거 # net.ipv4.ip_forward=1가 될 수 있도록 net.ipv4.ip_forward=1 변경 내용을 저장하고 다음 단계로 이동합니다.

D 단계-가장 무도회 / 전달 규칙

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

지속 의 iptables 변경

sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables

이 내용을 입력하십시오 :

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

변경 사항 저장 후 다음 iptables 파일 편집 / 작성

sudo nano /etc/network/if-post-down.d/iptables

이 내용을 입력하십시오 :

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
    iptables-restore < /etc/iptables.rules
fi
exit 0

변경 사항을 저장하다. 두 파일을 모두 실행 가능하게 만들기

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

단계 E-ufw 구성으로 마무리

sudo nano /etc/default/ufw

수락하도록 매개 변수 전달 정책 변경

DEFAULT_FORWARD_POLICY="ACCEPT"

변경 사항을 저장하다.

포트 49870에 SSH가 있으므로 ufw 가 해당 포트의 연결을 수락 하도록 허용했습니다 .

sudo ufw allow 49870

단계 F – ufw를 활성화하는 것을 잊지 마십시오 .

sudo ufw enable

이 단계에서는 시스템을 재부팅하십시오. 그러면 모든 LAN 장치가이 장치를 기본 게이트웨이로 사용할 수 있습니다. 참고로 ufw 는 방화벽 설정을 관리하는 데 매우 편리합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.