nftlb 변경 로그
nftlb 1.1.0 (15년 2025월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v1.1.0
– 동일한 도우미를 사용하여 여러 농장을 허용합니다.
– 테스트 수정
– 보고서 무시
– zcutils를 utils로 이름 변경
– 서버: 기본적으로 루프백 인터페이스만 활성화
nftlb 1.0.9(13년 2023월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v1.0.9
– 타이밍 공격으로부터 데몬 인증 키 보호
– PATCH를 사용하여 농장 정책의 대량 적용 수정
nftlb 0.6(31년 2020월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v0.6
– 팜: 팜 다운 후 정적 세션 삭제 비활성화
– 세션: 지속성 구조 수정 시 정적 세션 삭제
– 농장: 농장 제한 개체 다시 로드 수정
– 백엔드: 상태 저장 객체로 시작 백엔드 우선순위가 낮은 문제 수정
– nft: 필요하지 않을 때 필터 요소 삭제 수정
– 서버: 잘못된 요청 중 signfault 수정
– 서버: 존재하지 않는 가져오기 팜 중에 반환을 찾을 수 없습니다.
– 정책: json 덤프에서 카운터를 사용하는 팜 되돌리기
– 세션: 세션 지속성에 사용되는 백엔드 표시 수정
– 세션: API를 통해 시간이 지정된 세션 삭제 지원
– 테스트: 모든 테스트 케이스에 사전 및 사후 스크립트 추가
– 농장: tcpstrict 및 nfqueue 다시 로드 문제 수정
– 서버: API 오류 메시지를 통합하고 오류에 대한 자세한 내용을 추가합니다.
– 서버: 존재하지 않는 URI 키를 요청한 후 sigsegv 수정
– 농장: 도우미 규칙 생성 수정
– nft: 백엔드를 기반으로 한 정방향 맵 다시 로드 수정
– src: 속성이 변경된 경우 pre 및 pos actionable을 적용합니다.
– nft: 순방향 체인에서 백엔드 마크 사용
– 백엔드: 다운된 백엔드의 우선순위를 업데이트하는 경우 팜을 다시 로드합니다.
– 백엔드: 백엔드 설정된 우선순위에서 사용되지 않은 팜 포인터 삭제
– 백엔드: 백엔드 우선순위 변경 시 사용 가능한 백엔드를 다시 계산합니다.
– src: 불필요한 디버그 메시지 제거
– 정책: 자동 매개변수 인쇄를 비활성화하고 우선순위를 방지합니다 -1
– 백엔드: 사용할 수 없는 경우 백엔드 작업 수정
– 테스트: API 테스트 시스템을 개선하고 오래된 DESC 매개변수를 제거합니다.
– 구성: 알 수 없는 키를 null로 인쇄하지 않음
– nft: 동적 맵에 진입하지 않도록 정적 세션 규칙을 최적화합니다.
– 농장: 농장을 룰러라이즈할 필요가 없을 때 오류를 반환하지 않습니다.
– 서버: 반환된 규칙 생성 오류 시 sigsegv 수정
– 구성: 구문 분석 오류 메시지 개선
– 주요: 이전 nftlb 테이블 확인을 단순화합니다.
– 주요: 이전 nftlb 테이블을 감지하고 정리합니다.
– nft: 모든 팜을 삭제할 때 전체 nft 규칙 세트를 플러시하지 마십시오.
– 구성: API 응답 메시지 개선
– nft: 동적 지속성 규칙 수정
– 팜: 일관된 트래픽을 보장하기 위해 상태 비저장 DNA 소스 MAC 수정
– 서버: ipv6를 완벽하게 지원하도록 소스 코드를 수정합니다.
– 세션: DSR 및 무상태 DNAT에 대한 정적 및 동적 세션 지원을 도입합니다.
– 백엔드: 가능한 경우 팜 소스 주소를 사용합니다.
– 팜: 루프백 네트워크 장치가 구성되면 네트워크 검색을 비활성화합니다.
– 테스트: api 테스트 디렉터리 이름을 사람이 읽을 수 있는 형식으로 바꿉니다.
– 테스트: 주어진 에테르 주소를 강제하기 위해 테스트를 수정합니다.
– 백엔드: "config_error를 구성할 때 상태 강제 실행" 수정
– 네트워크: ipv4 및 ipv6에 대한 이더넷 주소 검색 수정
– 농장: 일부 디버그 메시지에 대한 로그 수준 수정
– 백엔드: config_error를 구성할 때 상태를 강제로 적용합니다.
– 정책: _family_ 속성 지원을 추가하여 ipv6 정책 도입
– 백엔드: 지도 생성 중에 백엔드의 유효성을 검사해야 합니다.
– 요소: 생성 시 요소를 시작합니다.
– 농장: config_err 상태 구성을 피하세요.
– 농장: 우선순위를 0으로 설정하지 마세요.
– 정책: 요소를 저장하지 않습니다.
– nft: 동적 지속성 규칙 수정
– 네트워크: 네트워킹 계층에 듀얼 스택 지원 도입
– nft: ipv6 필터 체인 생성 수정
– nft: nft 명령을 직렬화하는 옵션 추가
– nft: 흐름 오프로드 테스트 사례 수정
– nft: 팜 로그 접두사 규칙을 리팩토링합니다.
– 테스트: flowoffload 테스트 출력 수정
– 팜: 흐름 오프로드 지원 도입
– 백엔드: 백엔드 스위치에서 사용되지 않는 매개변수 삭제
– nft: 가상 서비스당 두 번 로깅하는 것을 방지합니다.
– 세션: 디버그 메시지 삭제
– 세션: 정적 및 동적 세션 지원 추가
– 농장: 로컬 서비스 지원 추가
– nft: 순방향 체인 지원을 추가하기 위한 리팩토링 체인 기반 생성
– 테스트: 테스트 파일 수정
– nft: 체인 및 서비스 이름 생성을 단순화합니다.
– 팜: 상태 비저장 DNAT에 대한 여러 아웃바운드 인터페이스를 활성화합니다.
– 농장: 백엔드가 없는 상태 비저장 DNAT에 대한 수정이 지배되지 않습니다.
– 농장: 무상태 DNAT 직접 클라이언트 지원
– 농장: 가장 무도회를 이용한 가장 무도회 비트 수정
– 팜: 네트워크 인터페이스 인덱스의 이중 생성 제거
– 백엔드: 가능할 때마다 백엔드 출력 인터페이스를 사용합니다.
– 백엔드: 백엔드별 출력 인터페이스 지원
– 추가 정보: 낮은 수준의 네트워킹 입력 매개변수 삭제
– 백엔드: 새 IP 주소를 설정할 때 호출되는 출력 인터페이스 수정
– 농장: 상태 비저장 dnat 구성 시 segfault 수정
– 백엔드: 백엔드가 고유하게 식별되는 경우 하나의 요소에 강제 적용
– nft: 팜 단일 포트의 소스 주소 매핑 수정
– 요소: 정책의 플러시 요소 수정
– 팜: 다중 포트 가상 서비스로 소스 주소 매핑 수정
– nft: 동일한 버퍼에 대한 sprintf 방지
– 팜: 서비스 삭제 중 팜 중지 문제 수정
– 테스트: API 호출 중지 허용
– 백엔드: 모든 팜을 제거하는 동안 백엔드 상태 수정
– 백엔드: 백엔드별로 혼합 소스 NAT 기능을 활성화합니다.
– 테스트: 더 나은 유지 관리를 위해 테스트 시스템을 리팩토링합니다.
– 정책: 기본적으로 자동 병합을 사용하여 세트를 생성합니다.
– 정책: 정책이 비어 있지 않으면 요소를 로드합니다.
– 정책: 정책의 지배화를 최적화합니다.
– nft: 제로 마크를 피하세요
– 백엔드: 마크 0x0으로 백엔드 수정
– 백엔드: 소스 주소로 다시 로드 백엔드 수정
– 농장: 제한이 있는 레벨 -1의 개체 구문 분석 오류 수정
– 서버: 클라이언트 요청 로그 정보 추가
– 주요: segfault 신호 검색 및 인쇄
– 테스트: 백엔드별로 포트를 변경하는 API 테스트를 추가합니다.
– 테스트: 알 수 없는 보고서 파일을 제거하지 않음으로써 API 테스트를 강화합니다.
– 백엔드: 백엔드당 가장 무도회 및 구성 가능한 소스 주소를 활성화합니다.
– 농장: 객체 지배화 수정
– 정책: 정책의 규칙 생성 및 삭제 수정
– 테스트: 정책에 대한 API 테스트를 추가합니다.
– 농장: 통치자화를 하지 않을 경우 모든 것이 중지되는 문제 수정
– farms: 팜 삭제를 위한 API 테스트 케이스 추가
– 백엔드: 노드 삭제 후 우선순위 생성 수정
– 테스트: 더 많은 API 테스트 생성
– 농장: 농장이 루프 안전을 지배하도록 만듭니다.
– 백엔드: 우선순위 생성 수정
– 메인: 데몬 모드 구현
– 테스트: API 테스트 시스템을 분류합니다.
– nft: 팜 플러시 후 필터 테이블 재생성 수정
– 테스트: 새로운 API 특정 테스트 시스템
– 서버: 백엔드 삭제 시 규칙 삭제 수정
– 백엔드: 기본 매크로 정의 로그 접두사가 없는 문제 수정
– nft: 백엔드 맵의 표시 인쇄 출력 수정
– src: 로그 접두사 지원 추가
– 테스트: 최신 변경 사항으로 테스트 nft 출력 수정
– 백엔드: 백엔드별 소스 주소 지원 추가
– 읽어보기: 첫 번째 rtlimit 버스트 옵션 업데이트
nftlb 0.5(4년 2019월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v0.5
– 팜: 수신 모드에 대한 보안 정책 지원
– 백엔드: 백엔드 포트 채팅 지원
– 백엔드: 백엔드당 연결 제한 지원
– nft: 제한에 대한 상태 저장 세트로 미터를 다시 작성합니다.
– 서버: PUT 요청에서 Expect 100-Continue 지원
– 서버: 요청을 수집하기 위해 콘텐츠 길이 관리 수정
– 백엔드 가용성 회계 개선
nftlb 0.4(18년 2019월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v0.4
새로운 기능
– 농장: 시간 초과 동안 클라이언트와 백엔드 사이에 지속성을 추가합니다.
– 정책 : 가상 서비스 별 보안 정책 지원
– 팜: 서비스당 사용자 공간에 대한 대기열 패킷 지원
– 팜: 서비스별 TCP 흐름 검증 지원
– 팜: 소스 주소당 가상 서비스당 설정된 최대 연결 지원
– 팜: 소스 주소별로 가상 서비스별로 허용되는 초당 TCP 재설정 지원
– 팜: 가상 서비스당 초당 새로운 연결 제한 및 선택적 버스트 지원
– 농장: 구성 가능한 해싱 매개변수 추가
– src: 모든 팜을 한번에 삭제 지원
개선 내용
– nft: 팜 규칙 생성 코드 리팩터링
– 서버: 긴 몸체 지원 추가
– 구성: json 값 구문 분석 강화
– nft: 프로토콜에 따라 도우미 규칙 수정
– 추가 정보: 가짜 TCP 공격을 방지하려면 새 매개변수 tcp-strict를 업데이트하세요.
– 농장: 상태 비저장 DNAT에 대한 Mac 검색 활성화
– main: 보안상의 이유로 프로세스가 실행 중일 때 주요 매개변수를 숨깁니다.
– nft: 수신 모드에 대한 인터페이스 이름으로 별도의 서비스
– 농장: 가상 IP 변경 시 네트워크 데이터를 강제로 다시 로드합니다.
– 농장: 소스 주소가 비어 있으면 가장 무도회를 설정합니다.
– nft: 마킹 및 헬퍼를 위한 사전 라우팅 필터 체인 추가
– 버퍼: 디버그 메시지 제거
– 팜: 해시 알고리즘에만 기본 스케줄러 매개변수를 설정합니다.
– 구성: 가능한 한 문자열 키를 사용합니다.
– 추가 정보: 상태 비저장 NAT 모드 옵션 추가
– 테스트: 서비스 없이 단일 테스트 실행 허용
– 버퍼: 코드 들여쓰기 수정
– 백엔드: 백엔드를 사용할 수 있는 경우에만 실행 가능
– 백엔드: 실행 가능한 함수 선언
– 버퍼: 확장 가능한 버퍼 지원
– 백엔드: 구성 후 백엔드 재시작 활성화
– nft: 팜 및 백엔드별로 재설정 조치 적용
– nft: 포스트라우팅 요소 추가 또는 삭제를 위한 작업 일반화
– 농장: src-addr 대신 farm source-addr 속성의 이름을 바꿉니다.
– 구성: 16진수 형식으로 표시 표시
– 테스트: 웹 API를 통한 테스트 실행 지원
– 빌드: -lev를 LDADD로 이동
– 빌드: 전처리기 플래그를 CPPFLAGS로 이동합니다.
버그 수정
– config: 개체가 선택되지 않은 경우 오류를 반환합니다.
– 백엔드: dnat IP 주소를 설정한 후 config_error로 이동하지 마세요.
– nft: 입력 및 출력 인터페이스가 다른 경우 상태 비저장 dnat 규칙 수정
– nft: Stateless NAT에 대한 서비스 이름 수정
– 백엔드: 자동화된 Mac 주소 요청 중 백엔드 유효성 검사 수정
– 네트워크: 핸들 내 이중 자유 보호
– 서버: 이중 프리 세그폴트 수정
– 백엔드: dsr 모드 적용 시 백엔드 유효성 검사 수정
– 팜: 수신 체인을 위한 strim 가상 인터페이스
– nft: 다시 로드 시 요소 필터 추가 규칙 수정
– nft: 상태 비저장 DNAt 규칙 작업 수정
– nft: 수신을 위한 필터 체인 및 백엔드 표시 사용을 피합니다.
– nft: 백엔드가 없을 때 필터 체인에서 빈 규칙을 피합니다.
– 백엔드: 백엔드 상태가 변경되면 다시 로드를 적용합니다.
– nft: 필터 체인의 ct 마크에서 skb 마크 삽입 수정
– nft: 플러시 수정 및 체인 필터 삭제
– nft: 삭제 필터 서비스 및 체인 수정
– nft: 필터 체인에서 요소 삭제 수정
– nft: 사용 가능한 백엔드가 없으면 규칙 생성을 방지합니다.
– 백엔드: 수신 모드에 대한 백엔드 가용성 수정
– 로그: 시작 시 설정된 로그 수준 수정
– 객체: 버퍼 복사 중복 방지
– 버퍼: 오류 메시지의 오타 수정
– 백엔드: 백엔드가 다운되는 문제 수정
– .gitignore에서 config.h 파일을 제거합니다.
– src: 문자열 복사 크기 수정
– src: null 개체 참조를 방지하기 위해 정리 구문 분석 구조를 추가합니다.
– 구성: 팜 마크 json 덤프 수정
– 서버: 버퍼 구문 분석 오류를 생성하는 구문 분석 입력 본문 수정
nftlb 0.3(15년 2018월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v0.3
이 릴리스는 kubernetes에 kube-nftlb로 통합되었습니다. https://github.com/relianoid/kube-nftlb
새로운 기능
– 네트워크: 라우팅 데이터를 요청하기 위해 넷링크 요청을 일반화합니다.
– 농장: 새로운 모드 무상태 DNAT
– 농장: l7 도우미 지원 추가
– 농장: 입력 로깅 지원 추가
– farms: 'newname' 속성을 사용한 팜 이름 변경 지원
– 팜: 가상 서비스별 마크 플로우 지원 추가
– nft: 백엔드별 플로우 마크 추가 및 마스크를 사용하여 파밍
– src: 위장 대신 사용자 정의 소스 IP 주소 구성 추가
개선 내용
– 이벤트: 이벤트 루프 일반화
– 팜: 인터페이스 및 MAC 주소 관리를 위한 새로운 속성을 포함합니다.
– 네트워크: 일부 네트워크 검색 기능과의 상호 운용을 위한 지원 추가
– src: 리팩토링 및 API 단순화
– 이벤트: dsr에 대한 netlink 이벤트 일반화
– 농장: DSR 카운터를 전역으로 만듭니다.
– 백엔드: 새로운 백엔드 상태 config_error를 포함합니다.
– src: 자동 fallthrough 경고
– 백엔드: 구성 시 백엔드 목록이 비어 있는지 확인하세요.
출력 인터페이스
– 농장: 농장별로 검증 및 규칙화
– config: 팜의 자동 생성 정보를 인쇄하지 않습니다.
– 농장: 지배하기 전에 농장 상태를 검증하고 확인합니다.
– 서버: 서버 버퍼 데이터 확장
– 읽어보기: 새로운 예제 추가
– 테스트: diff 출력 형식 개선
– nft: nft 규칙 생성의 모듈화 개선
– 서버: SO_REUSEADDR 소켓 플래그 설정
– 주요: 초기 신호 처리기 뼈대
– 서버: nftlb_client 구조체 추가
– 서버: nftlb_http_state 구조체 추가
– 서버: nftlb_http_send_response() 추가
– 서버: nftlb_http_state 구조체에 본문 응답 필드 추가
– src: EXIT_{SUCCESS,FAILURE}를 사용하지 마세요.
– server: server.c에서만 사용되는 객체를 상태화합니다.
– 서버: 불필요한 정의 제거
버그 수정
– config: 들여쓰기된 JSON이 포함된 덤프 구성
– nft: 일치하는 대신 MAC 주소를 설정하도록 dsr 규칙 수정
– 백엔드: 다운에서 업으로 전환 시 업데이트 백엔드 상태 수정
– nft: 백엔드를 사용할 수 없는 경우 규칙 추가를 피하세요.
– 객체: 팜 및 백엔드에 대한 올바른 초기 상태 설정
– 농장: 시작-중지 동작 수정
– 백엔드: net_get_neigh_ether()에 대한 입력 검증
– nft: 상태 비저장 NAT 백엔드를 클라이언트 규칙으로 수정
– nft: UDP ipv6 서비스 이름 수정
– 서버: 일부 웹 서버 메모리 누수 문제 수정
– 테스트: 일부 테스트 사례 수정
nftlb 0.2(14년 2018월 XNUMX일) #
https://github.com/relianoid/nftlb/releases/tag/v0.2
– 3가지 토폴로지 지원: 대상 NAT, 소스 NAT 및 직접
서버 복귀. 이를 통해 로드 밸런서를 설정할 수 있습니다.
단일 무장 및 이중 무장 네트워크 아키텍처.
– IPv4 및 IPv6 제품군을 모두 지원합니다.
– 멀티레이어 기능: 레이어 2의 MAC 기반 LB, IP 기반 LB
레이어 3에서 프로토콜에 구애받지 않고 UDP, TCP 및
레이어 4의 SCTP LB.
– 포트 범위 및 목록에 대한 다중 포트 지원.
– 여러 가상 서비스 설정을 지원합니다.
– 스케줄러 사용 가능: 가중치, 라운드 로빈, 해시 및 대칭
해시시.
– 백엔드별 우선 지원.
– 모니터링, 자동화, 관리를 위한 JSON API 서비스입니다.
– 보안 키를 사용한 웹 서비스 인증.
– 자동화된 테스트베드.
nftlb 0.1(27년 2018월 XNUMX일) #
– 초기 버전