저는 cloned_interfaces
FreeBSD가 rc.conf
실제로 무엇인지 이해하려고 노력하고 있습니다.
매뉴얼 페이지에는 다음과 같이 나와 있습니다.
cloned_interfaces
:(str) 이 호스트에 생성된 복제 가능한 네트워크 인터페이스 목록을 설정합니다. 변수를 설정하여
ifconfig(8)
create
각 인터페이스에 대한 명령 에 더 많은 복제 매개변수를 전달할 수 있습니다create_args_<interface>
. 키워드를 사용하여 인터페이스 이름을 지정하면 인수를 사용하여 스크립트를 호출sticky
하더라도rc.d/netif
인터페이스가 삭제되지 않습니다stop
. 이는 인터페이스를 손상시키지 않고 재구성할 때 유용합니다. 항목은 자동으로 구성cloned_interfaces
에 추가됩니다 .network_interfaces
이는 수행하는 작업에 대한 유용한 정보를 제공하지 않습니다. 예를 들어 , 및 if_bridge
에서 사용됩니다 .if_tap
if_epair
실제로는 무엇을 합니까?
왜 특정 네트워크 모듈에만 필요하고 다른 모듈에는 필요하지 않습니까?
일종의 가상 장치를 생성합니까?
언제 그게 필요해?
보안에 미치는 영향?
성능에 영향을 미치나요?
답변1
cloned_interfaces
rc.conf
rc.conf.local
, 등의 여러 설정 중 하나 입니다 . 네트워크 인터페이스의 설정 및 종료를 제어합니다. Mewburn rc
시스템 에서는 /etc/rc.d/netif
주로 이러한 설정 사용에 대한 책임이 귀하에게 있습니다. nosh 시스템 관리를 통해 외부 형식 가져오기 하위 시스템은 이러한 설정을 가져와 /var/local/sv
.
두 시스템의 기본은 ifconfig
많이 실행되며 일부 장기 실행 데몬이 실행됩니다.
cloned_interfaces
network_interfaces
표시 및 종료할 네트워크 인터페이스를 나열하는 것과 거의 동일한 설정입니다. 둘 사이의 유일한 차이점은 network_interfaces
네트워크 인터페이스 하드웨어의 하드웨어 감지로 인해 이미 존재하게 되므로 기존 네트워크 인터페이스를 설명하는 반면, cloned_interfaces
네트워크 인터페이스는 이러한 서비스 시작 및 종료 작업을 통해서만 존재한다는 것입니다.
, bridge
또는 네트워크 인터페이스 tap
는 epair
실제 네트워크 인터페이스 하드웨어를 나타내지 않습니다. 따라서 시작 및 종료 시 추가 단계가 필요하며, 이 경우 새 네트워크 인터페이스가 필요합니다.복제됨그리고 파괴되었습니다. 이 작업은 ifconfig
명령을 통해서도 수행됩니다. 첫 번째 bridge
네트워크 인터페이스는 실행을 통해 복제 ifconfig bridge0 create
되고 ifconfig bridge0 destroy
. 나열하면 이런 일이 발생하고 명령이 먼저 실행되고 나열 되지 않으며 시스템은 조작할 기존 장치가 bridge0
있다고 가정합니다.cloned_interfaces
network_interfaces
bridge0
(기술적으로 루프백 인터페이스는 하드웨어도 아닙니다. 복제된 것이기도 합니다. 따라서 lo0
이름이 궁금하신 분들을 위해 처음 복제된 루프백 인터페이스는 입니다. 하지만 브리지는 선택 사항이 아니기 때문에 특별한 셸이 있습니다. tap과 epair는 다음과 같습니다).
그렇지 않으면 두 인터페이스 세트가 모두 동일하게 처리됩니다.
추가 읽기
- 조나단 데보인 폴라드(2017). "네트워킹".스낵 가이드. 소프트웨어.
- 앤드류 톰슨.”브리징". FreeBSD 매뉴얼.
- 브룩스 데이비스(2004).동적 네트워크 인터페이스의 과제.
답변2
이를 통해 cloned_interfaces
다음과 같은 많은 작업을 수행할 수 있습니다.
FreeBSD 가상 LAN 구성을 조정합니다.VLAN은 물리적 위치에 관계없이 동일한 회선에 연결된 것처럼 서로 통신하는 공통 요구 사항 집합을 가진 호스트 그룹입니다. VLAN은 물리적 LAN과 동일한 속성을 가지고 있지만 동일한 LAN 세그먼트에 있지 않더라도 최종 스테이션을 함께 그룹화할 수 있습니다. 네트워크 재구성은 장치를 물리적으로 재배치하는 대신 소프트웨어를 통해 수행할 수 있습니다. 구성을 지속되게 만들려면 /etc/rc.conf를 엽니다.
vi /etc/rc.conf
다음과 같이 추가/수정합니다.
cloned_interfaces="vlan0"
ifconfig_vlan0="inet x.x.x.x netmask y.y.y.y vlan 2 vlandev em0"
- 영구 루프백 인터페이스 생성(FreeBSD),
ifconfig lo1 create
다음을 사용하여 /etc/rc.conf에 추가합니다.
cloned_interfaces="lo1"
ifconfig_lo1="inet a.b.c.d/netmask"
where a.b.c.d is the ip address.
링크 집계 제어 프로토콜 LACP를 사용하는 FreeBSD의 링크 집계/본딩: FreeBSD에서 여러 이더넷 링크를 결합하는 것은 매우 간단합니다. 예를 들어 LACP를 사용하려면 일부 스위치 구성이 필요하며 부팅시 링크 집계 모듈이 시작되는지 확인하십시오. 따라서 /boot/loader.conf를 편집하고 다음 줄을 추가하십시오. :
if_lagg_load=”YES”
이제 포트를 구성합니다... 이 예에서는 igb0과 bge0을 함께 바인딩하여 2포트 LACP 번들을 구성합니다. 이 인터페이스에 IP 192.0.2.10/24를 할당합니다. /etc/rc.conf에 다음을 추가합니다:
cloned_interfaces=”lagg0″
ifconfig_igb0=”up”
ifconfig_bge0=”up”
ifconfig_lagg0=”laggproto lacp laggport igb0 laggport bge0 up”
ifconfig_lagg0_alias0=”inet 192.0.2.10/24″
- 단일 IP를 위한 FreeBSD Jail, 다음과 같은 시나리오가 있다고 가정해 보겠습니다. 단일 IP가 있는 FreeBSD VPS가 있고 추가 보안 및/또는 격리를 제공하기 위해 FreeBSD Jail을 생성하려고 합니다. 이 기사에서는 NAT 액세스 및 감옥의 특정 포트(웹, SSH 등)에 대한 포트 전달을 통해 단일 VPS와 내부 IP에 생성된 감옥을 사용하는 방법을 설명합니다. 그런 다음 다음과 같이 로컬 인터페이스를 만듭니다.
192.168을 사용할 수 있도록 루프백 인터페이스를 rc.conf의 lo1에 복제합니다., 10., 또는 172.16.* 당사의 민간 교도소 네트워크.
cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"
위의 코드는 lo1 루프백 장치를 생성하고 해당 인터페이스에 192.168.0.1 ~ 192.168.0.9를 생성합니다. 여기에서 192.168.0.2를 사용하여 감옥을 만들겠습니다. 그런 다음 이러한 로컬 주소로부터의 아웃바운드 트래픽(NAT)을 허용하고 웹(80) 및 SSH 포트를 특정 감옥 IP로 전달하도록 PF를 구성합니다.
브리지 활성화
if_bridge
: FreeBSD에서는 브릿지 인터페이스 생성 시 자동으로 로딩되는 커널 모듈 이다 . 사용자 정의 커널 구성 파일에ifconfig
장치를 추가하여 브리징 지원을 사용자 정의 커널로 컴파일할 수도 있습니다 .if_bridge
브리지는 인터페이스 복제를 사용하여 생성됩니다. 브리지 인터페이스 생성:# ifconfig bridge create
bridge0
# ifconfig bridge0
bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0
브리지 인터페이스가 생성되면 무작위로 생성된 이더넷 주소가 자동으로 할당됩니다. maxaddr 및 timeout 매개변수는 브리지가 전달 테이블에 유지할 MAC 주소 수와 각 항목이 삭제되기 전에 마지막으로 표시된 후 몇 초를 제어합니다. 다른 매개변수는 STP 작동 방식을 제어합니다.
그런 다음 브리지의 구성원으로 추가하려는 네트워크 인터페이스를 지정합니다. 브리지가 패킷을 전달하려면 모든 멤버 인터페이스와 브리지가 작동 상태에 있어야 합니다.
# ifconfig bridge0 addm fxp0 addm fxp1 up
# ifconfig fxp0 up
# ifconfig fxp1 up
이제 브리지는 fxp0과 fxp1 사이에서 이더넷 프레임을 전달할 수 있습니다. 시작 시 브리지를 생성하려면 /etc/rc.conf에 다음 줄을 추가하세요.
cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"
ifconfig_fxp0="up"
ifconfig_fxp1="up"
브리지 호스트에 IP 주소가 필요한 경우 구성원 인터페이스가 아닌 브리지 인터페이스에 설정하세요. 주소는 정적으로 또는 DHCP를 통해 설정할 수 있습니다. 이 예에서는 고정 IP 주소를 설정합니다.
# ifconfig bridge0 inet 192.168.0.1/24
IPv6 주소를 브리지 인터페이스에 할당할 수도 있습니다. 변경 사항을 영구적으로 적용하려면 /etc/rc.conf에 주소 지정 정보를 추가하십시오.
이것들은 cloned_interfaces
!!