구성환경
Redhat 8.4
1. nftables 활성화
> systemctl enable nftables.service
> systemctl start nftables.service
2. nft ruleset 제거
> nft flush ruleset
3. nftables 리스트
> nft list ruleset
4. SNAT(외부 인터페이스(ens160) 의 IP(192.168.0.175)로 SNAT 처리)
> nft add table nat
> nft add chain nat WORKER_OUT { type nat hook postrouting priority 100 \; }
> nft add rule nat WORKER_OUT oifname "ens160" snat to 192.168.0.175
5. nfttables 확인
> nft --handle list ruleset
table ip nat { # handle 8
chain postrouting { # handle 1
type nat hook postrouting priority srcnat; policy accept;
oifname "ens160" snat to 192.168.0.175 # handle 4
}
}
6. nftables 스크립트 생성 및 수행
6.1 /etc/nftables/worker_out.nft 스크립트 생성
#!/usr/sbin/nft -f flush ruleset add table nat add chain nat WORKER_OUT { type nat hook postrouting priority 100 ; } add rule nat WORKER_OUT oifname "ens160" snat to 192.168.0.175 |
6.2 nftables 스크립트 실행
> nft -f /etc/nftables/worker_out.nft
6.3 부팅시 활성화
공통) 커널 매개 변수 변경
> vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
> sysctl -p
방법1) rc.local
> chmod +x /etc/rc.d/rc.local
> vi /etc/rc.d/rc.local
/usr/sbin/nft -f /etc/nftables/worker_out.nft |
방법2) /etc/sysconfig/nftables.conf 파일에 아래 내용 추가
include "/etc/nftables/worker_out.nft"
예)
# Uncomment the include statement here to load the default config sample # in /etc/nftables for nftables service. #include "/etc/nftables/main.nft" # To customize, either edit the samples in /etc/nftables, append further # commands to the end of this file or overwrite it after first service # start by calling: 'nft list ruleset >/etc/sysconfig/nftables.conf'. include "/etc/nftables/worker_out.nft" |
'운영체제 > Unix & Linux' 카테고리의 다른 글
gnome-initial-setup disable (0) | 2023.06.05 |
---|---|
nmcli 를 이용한 bonding 구성 (0) | 2023.05.31 |
리눅스 부팅 커널 변경 및 커널 업그레이드 (0) | 2023.05.25 |
리눅스 리부팅시 messages 파일 로그 (0) | 2023.05.16 |
process, thread 수 확인 및 변경 (0) | 2023.05.15 |