여러 인터넷 연결을 하나로 통합하는 방법?


23

내 PC에는 총 4 개의 NIC, 2 개의 유선 기가비트 이더넷 네트워크 카드 및 2 개의 무선 네트워크 카드가 있습니다. (독점 드라이버가있는 Broadcom 하나와 공개 소스 소프트웨어가있는 Ralink는 Broadcom보다 훨씬 잘 작동합니다.)

휴대폰은 무선으로 PC와 연결을 공유 할 수 있지만 유선 인터넷 연결도 있습니다. 나는 그래서 여러 인터넷 연결 인터넷에 액세스 할 수 있습니다. 2 개 이상의 연결을 하나로 병합하고 균형을 유지 하여 연결된 모든 인터넷 연결의 합계라는 하나의 통합 인터넷 환경을 즐기 려면 어떻게해야합니까 ?

예를 들어 인터넷 연결이 1024kB / s 인 모뎀과 512kB / s를 제공하는 다른 모뎀과 128kB / s를 제공하는 작은 모뎀이있는 경우 모든 연결 (Bonding 또는 Teaming)을로드 밸런싱 및 병합 한 후 다운로드 할 수 있습니다. 예를 들어 3 개의 인터넷 연결을 모두 사용하는 1664kB / s의 속도.

이 질문은 항상 흥미를 불러 일으켰습니다.


5
Ask Ubuntu의 범위를 벗어난 것 같습니다 :) 이것은 매우 복잡한 네트워킹입니다. IMO는 링크가 다운되어 (일시적 으로라도) 손실 된 패킷을 고려할 때, 일부 링크가 다른 링크보다 느리기 때문에 패킷을 재정렬하는 등의 가치가 거의 없습니다. 이 작업을 수행 할 "블랙 박스"솔루션을 모른다면 흥미로운 프로젝트가 될 수 있습니다.
세슘

9
우분투 에서이 작업을 수행 할 수 있는지, 그렇다면 어떻게되는지에 대한 질문입니다.
루이스 알바라도

단일 PC 게시물 에서 2 개의 인터넷 연결에 대한 답변 을 만들었 습니다. 우분투에서 바인딩을위한 문서 연결.
Lucio

@Lucio 질문을 중복으로 표시하거나 여기에서 답변을 이동할 수 있으며 허용 된 것으로 표시 할 수 있습니다. 또한 Network Manager에 본딩 옵션 (현재 유선 본딩 슬레이브 만 해당)이 포함되어 있으므로 13.04가 출시 될 때를 대비해야합니다.
Luis Alvarado

답변:


11

우분투 11.04를 사용하여 직장에서 그런 일을합니다. 우리는 Shorewall 방화벽 구성 도구를 실행합니다.이 방화벽은 작업 능력이 뛰어날뿐만 아니라 필요에 따라 몇 가지 기본적인 ISP 라우팅 도구를 제공합니다. http://www.shorewall.net/MultiISP.html 에서 관련 문서를 찾을 수 있습니다 .

그러나 단일 연결에 여러 ISP를 사용할 수 없다는 것은 간단하지 않습니다. 당신이 할 수있는 최선의 방법은 서로 다른 공급자 사이에 새로운 연결을 고르게 전달하는 것입니다.

복잡한 문제입니다. 모든 문제를 디버깅하기 전에 아마도 벽에 머리를 대고있을 것입니다. 따라서 다른 포스터가 제안했듯이, 욕망이 얼마나 강한 지 신중하게 고려하는 것이 좋습니다.


좋은 링크. 아주 좋은 튜토리얼.
Luis Alvarado

또한 이것을보십시오 : debuntu.org/2006/02/23/…
Postadelmaga

8

ifenslave슬레이브 네트워크 인터페이스를 본딩 장치에 연결 및 분리 하는 패키지 를 사용하여이를 수행 할 수 있습니다.

  1. 설치

    sudo apt-get install ifenslave
    
  2. 로드 본딩 커널 모듈

    sudo modprobe bondingle
    
  3. 인터페이스를 구성하십시오.

    sudo vi /etc/network/interfaces
    

    eth0 및 eth1을 본딩 인터페이스의 슬레이브로 결합하는 구성 예 :

    #eth0 is manually configured, and slave to the "bond0" bonded NIC
    auto eth0
    iface eth0 inet manual
    bond-master bond0
    
    #eth1 ditto, thus creating a 2-link bond.
    auto eth1
    iface eth1 inet manual
    bond-master bond0
    
    # bond0 is the bonded NIC and can be used like any other normal NIC.
    # bond0 is configured using static network information.
    auto bond0
    iface bond0 inet static
    address 192.168.1.10
    gateway 192.168.1.1
    netmask 255.255.255.0
    # bond0 uses standard IEEE 802.3ad LACP bonding protocol 
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate 1
    bond-slaves none
    
  4. 네트워크를 다시 시작하십시오.

    sudo restart networking
    
  5. 바운드 / 인바운드 인터페이스 가져 오기 :

    ifup bond0
    ifdown bond0
    

    우리가 사용하는 예로서 몇 가지 본딩 모드가 있습니다 :

    bond-mode active-backup
    

    액티브 백업 본딩 모드에 대한 설명 :

    활성 백업 정책 : 본드에서 하나의 슬레이브 만 활성입니다. 활성 슬레이브가 실패하는 경우에만 다른 슬레이브가 활성화됩니다. 본드의 MAC 주소는 스위치 혼동을 피하기 위해 하나의 포트 (네트워크 어댑터)에서만 외부에서 볼 수 있습니다. 이 모드는 내결함성을 제공합니다. 기본 옵션은이 모드의 동작에 영향을줍니다.

    소스 및 상기 추가 정보를 우분투 커뮤니티 도움말 위키 .

본딩 은 여러 네트워크 인터페이스 (NIC)를 단일 링크에 결합하여 고 가용성,로드 밸런싱, 최대 처리량 또는 이들의 조합을 제공함을 의미합니다. 출처


+1은 제 질문의 이유 중 하나입니다. 모든 슬레이브 (실제) 연결의 합인 가상 네트워크 마스터 연결을 만드는 방법을 계속 기다립니다. 최신 커널 버전에서 제공되는 본딩과 같은 것.
루이스 알바라도

2
본딩은 레이어 2에서 작동 할 때 LAN에서 작동합니다. 문제는 두 개의 독립적 인 WAN의 로드 밸런싱 에 관한 것 입니다.
gertvdijk

@gertvdijk 나는 본딩이로드 밸런싱을한다는 것을 알기 위해 업데이트 답변을 확인하는 데 동의하지 않습니다.
pl1nk

1
@ pl1nk 이것은 동일한 L2 네트워크에있는 두 개의 NIC에 대한 계층 2로드 밸런싱입니다. 이것은 다중 ISP로드 밸런싱과 동일하지 않습니다!
gertvdijk

3
@ pl1nk 나의 마지막 코멘트. 문제는 여러 개의 독립적 인 광대역 연결에 관한 것입니다. 그들은 하나 개의 ISP가 될 수 있지만,이 층 (2)에서이 문제를 처리하기 위해 장애를 변경하지 않습니다
gertvdijk

6

조금 오래된 질문이지만 여전히 알고 싶다면 ..

gertvdijk와 pl1nk가 답 중 하나에서 논쟁 한 전형적인 시나리오는 두 가지가 있습니다.

공용 IP가 2 개인 컴퓨터 (2 개의 다른 ISP)가 있고 다른 호스트 (예 : 컴퓨터의 두 ISP 연결의 총 대역폭보다 큰 뚱뚱한 파이프가있는 데이터 센터의 서버)에 연결합니다. 따라서 2 개의 연결을 통해 호스트에 본딩 연결을 설정 한 다음 호스트 (서버)는 자체 인터넷 연결을 통해 트래픽을 처리합니다. 이 시나리오에서는 단일 연결에 대해 양방향에서 결합 대역폭의 거의 100 %를 양방향으로 얻을 수 있습니다.

이것은 다중 계층 2 (동일한 네트워크) 인터페이스가 서로 결합 된 특별한 결합 / 팀 / 링 통합의 경우입니다. 컴퓨터에서 호스트로의 각 ISP 인터페이스에서 VPN 계층 2 (탭) 연결을 설정하고 단일 인터페이스를 갖도록 이들을 결합 (라운드 로빈 모드)하면됩니다. 이 시나리오의 제한 요소는 호스트에 대한 각 ISP 연결의 지연 (ping)이 얼마나 다른지입니다. 더 비슷하고 안정적 ​​일수록 좋습니다. 우리는 설치 중 하나에서 사용하며 잘 작동합니다. 구현 방법에 대한 자세한 내용을 알고 싶다면 알려주십시오.

그런 다음 또 다른 시나리오 는 중간 호스트가없는 것입니다. 즉, ISP 인터페이스에서 전 세계의 다양한 웹 서버로의 직접 연결입니다. 이 경우 얻을 수있는 최선의 방법은 인터페이스간에 발신 연결을 균등하게 분배하는 것입니다. 즉, 한 TCP 세션은 하나의 ISP를 통해, 두 번째 세션은 다른 ISP를 통해 진행됩니다. TCP 연결을 설정할 때 각 패킷에 대한 출발지 및 대상 IP 주소가 있고 서버가 TCP 핸드 셰이크가 수행되지 않은 다른 IP로부터 패킷을 수신하면 패킷이 잘못된 것으로 간주하여 삭제합니다. 각 ISP 연결에는 고유 한 공용 IP가 있으므로 동일한 TCP 세션에 대해 한 IP에서 한 연결을 통해 다른 IP와 다른 연결을 통해 한 패킷을 보낼 수 없습니다.

첫 번째 시나리오에서와 같이 단일 컴퓨터에서 높은 총 대역폭 사용률을 달성 할 수는 없지만 소규모 사무실에서는 좋은 솔루션이 될 수 있습니다. 약간 확장하기 위해 할 수있는 일은 특정 프로토콜에 대한 사용자 지정 솔루션을 구현하는 것입니다. 예를 들어 http 다운로드를 위해 게이트웨이 (같은 컴퓨터 일 수 있음)에 일종의 프록시를 사용하고 다른 ISP 인터페이스를 통해 다른 TCP 세션을 설정하는 거대한 파일의 다른 부분을 요청할 수 있습니다. 이 경우 결과 다운로드 속도는 결합 대역폭의 100 %에 가깝습니다. ReGet, GetRight 및 유사한 다운로더가하는 일을 게이트웨이로 오프로드하는 것과 같습니다. Google 'HTTP 206 부분 콘텐츠'. 이 시나리오에 대한 즉시 사용 가능한 오픈 소스 솔루션을 모르지만 정확히 이것을 수행하는 하드웨어 어플라이언스가 있습니다. google '


와우! 답의 첫 부분은 내가 찾는 것입니다. Ubuntu가있는 클라우드에 서버가 있으며 매우 빠릅니다. 그리고 내가 여기서 가질 수있는 유일한 인터넷 연결은 제한된 3G를 가진 300kbps입니다. 많은 3G 동글을 구매하고 연결 속도를 향상시킬 수 있도록 답변의 첫 번째 부분을 달성하는 방법에 대한 자세한 정보를 제공 할 수 있습니까?
Huafu

2
echo "bonding" >> /etc/modules echo -e "alias bond* bonding\noptions bonding max_bonds=10 mode=2 xmit_hash_policy=layer3+4 arp_interval=100 arp_ip_target=10.0.0.1" > /etc/modprobe.d/bonding.conf
Anatoli

1
그리고이 채권에 대한 모든 탭 ifaces 확인해를 정복 : echo "+tapX " >> /sys/class/net/bond0/bonding/slaves 그것의 상태를 확인 : cat /proc/net/bonding/bond0 이 단계에서 모든 인터넷 트래픽은 데이터 센터의 서버를 통해 본드 흐름을해야한다. 거기에 라우팅을 설정해야합니다 : echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p /etc/sysctl.conf iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (eth0은 인터넷 iface로 간주됩니다)
Anatoli

1
이 본드 구성 (mode = 2 xmit_hash_policy = layer3 + 4)은 해시 (연결에 관련된 IP 및 포트에서 계산) mod iface 번호에 따라 각각의 새 연결이 서로 다른 기본 VPN iface를 통과하도록합니다. 더 많은 정보 : kernel.org/doc/Documentation/networking/bonding.txt . 이것은 실제로 내 대답의 두 번째 솔루션과 비슷합니다. 라운드 로빈 본딩이 올바르게 작동하기 위해서는 매우 유사한 (매우 낮은 지터 및 동일한 대역폭) 기본 연결이 필요하기 때문에 (그렇지 않으면 많은 패킷 재정렬이 필요합니다) 당신의 연결은 3G입니다.
Anatoli

1
@Huafu, 첫 번째 솔루션을 얻으려면 mode=2 xmit_hash_policy=layer3+4y 대신 본딩 옵션을 변경 해야합니다 mode=0(link @ kernel.org 참조). 먼저 3G를 통해 링크가 얼마나 유사한 지 확인하십시오. 핑 시간이 2-3ms를 초과하거나 지터가 1ms를 초과하는 경우 집계 된 링크의 속도를 효과적으로 줄이는 많은 패킷 순서가 변경됩니다. netstat -s(재전송 확인) 및 iperf -s/로 집계 된 링크 통계를 확인해야합니다 iperf -c <server_ip> -d. 먼저 각 링크의 성능을 확인한 다음 솔루션을 계속할 수 있습니다
Anatoli

0

나는 비슷한 문제에 직면했다. 나는 mr에 의한 첫 번째 시나리오에 따른 솔루션 접근에 매우 관심이 있었다. GTH와 Anatoli는 가능한 경우 첫 번째 시나리오에서 설명한 구성을 테스트하기 위해 기본 구성 및 스크립트를 배치하도록 요청합니다.

이제이 유틸리티를 사용하여 결합 된 tun / tap 인터페이스를 사용하여 다른 ISP 제공 업체를 통해 VPN 연결을 구성했습니다 (응답하지 않습니다 (8 번에 설명되어 있음)).

Lincoln D. Stein의 Net-ISP 균형

향상된 대역폭과 안정성을 위해 둘 이상의 ISP에서 인터넷 연결 부하 분산

프로젝트 홈 : https://lstein.github.io/Net-ISP-Balance/

이 패키지를 사용하면 둘 이상의 ISP에서 가정 또는 소규모 비즈니스 인터넷 연결을로드 밸런스 할 수 있습니다. 두 개의 ISP에 연결된 단일 호스트 또는 라우터 / 방화벽 시스템에서이 호스트를 사용하여 전체 LAN의로드 밸런스를 수행 할 수 있습니다. 두 ISP 연결에서 네트워크 트래픽의 균형이 조정되어 업로드 및 다운로드 용량이 증가하며 한 ISP가 실패하면 다른 ISP가 자동으로 인계받습니다.

대역폭은 연결 수준별로 배포됩니다. 즉, 특정 다운로드 또는 속도 벤치 마크에서 집계 된 대역폭을 볼 수 없지만 여러 데이터 전송이 동시에 발생하는 경우 (예 : 가정의 여러 개인이 영화를 스트리밍하는 경우) 이점을 볼 수 있습니다. 또한 BitTorrent와 같은 다중 연결 파일 전송 프로토콜은로드 밸런싱의 이점을 볼 수 있습니다.

이것은 Linux에서 라우팅 및 iptables를 관리하기위한 Perl 기반 유틸리티입니다. 실제로 모든 제공자를위한 라우팅 테이블을 만든 다음 제공자간에 모든 LAN 트래픽을 균등하게 분배하여 유틸리티 작동 방식을 이해하고 고려할 것을 제안합니다. 3 isp + 1 lan에 대한 작은 예 (테스트 구성)

 #cat /etc/network/balance.conf
 ##service    device   role     ping-ip           
 CABLE3       enp0s3   isp      10.0.2.2
 CABLE8       enp0s8   isp      10.0.3.2
 CABLE9       enp0s9   isp      10.0.4.2
 LAN          enp0s10  lan                        

 #cat /etc/network/interfaces
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet dhcp

auto enp0s8
allow-hotplug enp0s8
iface enp0s8 inet dhcp

auto enp0s9
allow-hotplug enp0s9
iface enp0s9 inet dhcp

auto enp0s10
allow-hotplug enp0s10
iface enp0s10 inet static
    address 192.168.1.1/24

#Now work Net-ISP-Balance utility:

## Including rules from /etc/network/balance/pre-run/pre-run-script.pl ##
## Finished /etc/network/balance/pre-run/pre-run-script.pl ##
echo 0 > /proc/sys/net/ipv4/ip_forward
ip route flush all
ip rule flush
ip rule add from all lookup main pref 32766
ip rule add from all lookup default pref 32767
ip route flush table  2
ip route flush table  1
ip route flush table  3
ip route add  10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add  10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add  10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add  0.0.0.0/0 dev enp0s10 src 
ip route add default scope global nexthop via 10.0.4.2 dev enp0s9 weight 1 nexthop via 10.0.3.2 dev enp0s8 weight 1 nexthop via 10.0.2.2 dev enp0s3 weight 1
ip route add table 2 default dev enp0s3 via 10.0.2.2
ip route add table 2 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 2 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 2 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 2 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.2.15 table 2
ip rule add fwmark 2 table 2
ip route add table 1 default dev enp0s8 via 10.0.3.2
ip route add table 1 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 1 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 1 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 1 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.3.15 table 1
ip rule add fwmark 1 table 1
ip route add table 3 default dev enp0s9 via 10.0.4.2
ip route add table 3 10.0.2.0/24 dev enp0s3 src 10.0.2.15
ip route add table 3 10.0.3.0/24 dev enp0s8 src 10.0.3.15
ip route add table 3 10.0.4.0/24 dev enp0s9 src 10.0.4.15
ip route add table 3 0.0.0.0/0 dev enp0s10 src 
ip rule add from 10.0.4.15 table 3
ip rule add fwmark 3 table 3
## Including rules from /etc/network/balance/routes/01.local_routes ##
# enter any routing commands you might want to go in
# for example:
# ip route add 192.168.100.1 dev eth0 src 198.162.1.14

## Finished /etc/network/balance/routes/01.local_routes ##
## Including rules from /etc/network/balance/routes/02.local_routes.pl ##
## Finished /etc/network/balance/routes/02.local_routes.pl ##
iptables -F
iptables -t nat    -F
iptables -t mangle -F
iptables -X
iptables -P INPUT    DROP
iptables -P OUTPUT   DROP
iptables -P FORWARD  DROP

iptables -N DROPGEN
iptables -A DROPGEN -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "GENERAL: "
iptables -A DROPGEN -j DROP

iptables -N DROPINVAL
iptables -A DROPINVAL -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "INVALID: "
iptables -A DROPINVAL -j DROP

iptables -N DROPPERM
iptables -A DROPPERM -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "ACCESS-DENIED: "
iptables -A DROPPERM -j DROP

iptables -N DROPSPOOF
iptables -A DROPSPOOF -j LOG -m limit --limit 1/minute --log-level 4 --log-prefix "DROP-SPOOF: "
iptables -A DROPSPOOF -j DROP

iptables -N DROPFLOOD
iptables -A DROPFLOOD -m limit --limit 1/minute  -j LOG --log-level 4 --log-prefix "DROP-FLOOD: "
iptables -A DROPFLOOD -j DROP

iptables -N DEBUG
iptables -A DEBUG  -j LOG --log-level 3 --log-prefix "DEBUG: "
iptables -t mangle -N MARK-CABLE3
iptables -t mangle -A MARK-CABLE3 -j MARK     --set-mark 2
iptables -t mangle -A MARK-CABLE3 -j CONNMARK --save-mark
iptables -t mangle -N MARK-CABLE8
iptables -t mangle -A MARK-CABLE8 -j MARK     --set-mark 1
iptables -t mangle -A MARK-CABLE8 -j CONNMARK --save-mark
iptables -t mangle -N MARK-CABLE9
iptables -t mangle -A MARK-CABLE9 -j MARK     --set-mark 3
iptables -t mangle -A MARK-CABLE9 -j CONNMARK --save-mark
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 1 -j MARK-CABLE9
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 0.5 -j MARK-CABLE8
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate NEW -m statistic --mode random --probability 0.333333333333333 -j MARK-CABLE3
iptables -t mangle -A PREROUTING -i enp0s10 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s3 -m conntrack --ctstate NEW -j MARK-CABLE3
iptables -t mangle -A PREROUTING -i enp0s3 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s8 -m conntrack --ctstate NEW -j MARK-CABLE8
iptables -t mangle -A PREROUTING -i enp0s8 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i enp0s9 -m conntrack --ctstate NEW -j MARK-CABLE9
iptables -t mangle -A PREROUTING -i enp0s9 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -d 127.0.0.0/8 -j DROPPERM
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT   -p tcp --tcp-flags SYN,ACK ACK -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK ACK -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROPFLOOD
iptables -A INPUT   -i enp0s10 -s 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT  -o enp0s10 -d 0.0.0.0/0  -j ACCEPT
iptables -A OUTPUT  -o enp0s10 -d 255.255.255.255/32  -j ACCEPT
iptables -A OUTPUT  -p udp -s 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s3 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s3                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s8 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s8                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD  -i enp0s10 -o enp0s9 -s 0.0.0.0/0 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT   -o enp0s9                 ! -d 0.0.0.0/0 -j ACCEPT
iptables -A OUTPUT  -j DROPSPOOF
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp0s9 -j MASQUERADE
## Including rules from /etc/network/balance/firewall/01.accept ##
## This file contains iptables statements that add additional firewall rules

# allow incoming domain packets -- needed for DNS resolution
iptables -A INPUT   -p udp --source-port domain -j ACCEPT
# allow incoming NTP packets -- needed for net time protocol
iptables -A INPUT   -p udp --source-port ntp -j ACCEPT
## Finished /etc/network/balance/firewall/01.accept ##
## Including rules from /etc/network/balance/firewall/01.accept.pl ##
iptables -A INPUT -p tcp -s 0.0.0.0/0 --syn --dport ssh -j ACCEPT
## Finished /etc/network/balance/firewall/01.accept.pl ##
## Including rules from /etc/network/balance/firewall/02.forward.pl ##
iptables -A FORWARD -p udp --source-port domain -d 0.0.0.0/0 -j ACCEPT
iptables -A FORWARD -p udp --source-port ntp    -d 0.0.0.0/0 -j ACCEPT
## Finished /etc/network/balance/firewall/02.forward.pl ##
echo 1 > /proc/sys/net/ipv4/ip_forward
## Including rules from /etc/network/balance/post-run/post-run-script.pl ##
## Finished /etc/network/balance/post-run/post-run-script.pl ##

이 답변을 삭제하고 해당 답변에 더 많은 설명을 요청하는 설명을 추가하십시오. 이것은 답이 아닙니다. 고맙습니다.
라파
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.