ipv6 커널 모듈이 제거되었지만 인터페이스에 ipv6 주소가 있습니다.

ipv6 커널 모듈이 제거되었지만 인터페이스에 ipv6 주소가 있습니다.

sysctl.conf 파일을 수정하여 Fedora 37의 노트북에서 ipv6을 비활성화하려고 했습니다.

echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf 
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf 
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

이것이 작동하지 않아서 인터넷에서 찾은 bp028(ansi hardening linux 가이드) 역할과 함께 로컬에서 ansible을 사용하고 ipv6 라인을 사용했습니다. 첫 번째 작업은 모든 .conf 파일을 나열하는 것이었습니다.

    - /etc/sysctl.d/
    - /run/sysctl.d/
    - /usr/local/lib/sysctl.d/
    - /usr/lib/sysctl.d

그런 다음 net.ipv6.conf.default.disable_ipv6 및 net.ipv6.conf.all.disable_ipv6을 주석 처리하고 다음 작업을 실행합니다.

- name: net.ipv6.conf.default.disable_ipv6 - disable ipv6
  sysctl:
    name: net.ipv6.conf.default.disable_ipv6
    value: '1'
    sysctl_set: yes
    state: present
    reload: yes

- name: net.ipv6.conf.all.disable_ipv6 - disable ipv6
  sysctl:
    name: net.ipv6.conf.all.disable_ipv6
    value: '1'
    sysctl_set: yes
    state: present
    reload: yes

이제 ansible을 사용하여 작업을 실행하면 ipv6이 올바르게 비활성화됩니다.

그러나 재부팅하면 이더넷 인터페이스에서 ipv6이 여전히 활성화되어 ip a있으며 입력할 때 ipv6 프로토콜의 tcpdump에서 트래픽을 볼 수 있습니다. 입력하면 lsmod | grep ipv6nf_defrag_ipv6만 있습니다. 입력하면 lsmod | grep ip6ip6_tables만 있는데 chatgpt에서는 이 모듈이 ipv6 지원과 함께 로드되지 않는다고 알려줍니다. 내 ipv6이 여전히 활성 상태인 이유는 무엇이며 비활성화하려면 어떻게 해야 합니까? 감사해요

답변1

대답은 네트워크 관리자가 이러한 sysctl 구성을 자동으로 설정한다는 것입니다. 이를 비활성화하려면 다음을 수행할 수 있습니다(이 링크를 따르십시오).https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/using-networkmanager-to-disable-ipv6-for-a-specific-connection_configuring-and-managing-networking)

nmcli connection modify connection_name ipv6.method "disabled"
nmcli connection up connection_name

또는 다음 ansible 작업을 사용할 수 있습니다.

- name: retrieve nmcli connection name based on interface 
  shell: nmcli -t connection show | grep {{ var_interface }} | awk -F ':' '{print $1}'
  register: conn_name 

- name: disable ipv6
  community.general.nmcli:
    ifname: enp53s0
    method6: disabled
    conn_name: "{{ conn_name.stdout }}"
    state: present

관련 정보