Hazırlık

Kaynak kodları alın

En yeni çekirdek kaynak kodu: http://www.kernel.org/

En yeni iptables paketinin kaynak kodu:

Kodları açın

Kodun bulunduğu dizine geçin:

# cd /path/to/src

Çekirdeğin kaynak kodunu açın ve oluşan dizinin adını değiştirin:

# tar z|jxf kernel-sürüm.tar.gz|bz2
# mv linux linux-sürüm-iptables-sürüm+IPv6

iptables kaynak kodunu açın:

# tar z|jxf iptables-sürüm.tar.gz|bz2

Çekirdeğin kaynak koduna en yeni iptables/IPv6 yamasını uygulayın

iptables dizinine geçin:

# cd iptables-sürüm

Yamayı uygulayın:

# make pending-patches KERNEL_DIR=/path/to/src/linux-sürüm-iptables-sürüm/

IPv6 ile ilgili ilave yamayı uygulayın (hala asıl çekirdeğe dahil edilmedi):

# make patch-o-matic KERNEL_DIR=/path/to/src/linux-sürüm-iptables-sürüm/

Aşağıdaki seçeneklere evet deyin (iptables-1.2.2)

  • ah-esp.patch
  • masq-dynaddr.patch (sadece dinamik IP atanmış WAN bağlantılı (PPP veya PPPoE) sistemlerde ihtiyaç duyulur)
  • ipv6-agr.patch.ipv6
  • ipv6-ports.patch.ipv6
  • LOG.patch.ipv6
  • REJECT.patch.ipv6

IPv6 eklentilerini kontrol edin:

# make print-extensions
Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multiport

Yeni çekirdeği yapılandırın, derleyin ve kurun

Çekirdek kaynak kodunun bulunduğu dizine geçin:

# cd /path/to/src/linux-sürüm-iptables-sürüm/

Makefile dosyasını düzenleyin:

- EXTRAVERSION =
+ EXTRAVERSION = -iptables-sürüm+IPv6-try

configure komutunu çalıştırın ve IPv6 ile ilgili yapılandırmayı yapın:

Code maturity level options
  Prompt for development and/or incomplete code/drivers : yes
Networking options
  Network packet filtering: yes
  The IPv6 protocol: module
    IPv6: Netfilter Configuration
      IP6 tables support: module
      All new options like following:
        limit match support: module
        MAC address match support: module
        Multiple port match support: module
        Owner match support: module
        netfilter MARK match support: module
        Aggregated address check: module
        Packet filtering: module
          REJECT target support: module
          LOG target support: module
        Packet mangling: module
        MARK target support: module

Sisteminizle ilgili diğer yapılandırmaları da yapın.

Derleme ve kurulum: buradaki çekirdekle ilgili bölüme veya diğer NASIL belgelerine bakın.

iptables'ın ikilik paketlerinin yeniden derlenip kurulması

Çekirdek kod dizininin (/usr/src/linux) kullanılabilir olduğundan emin olun.

Eski dizinin adını değiştirin:

# mv /usr/src/linux /usr/src/linux.old

Yeni bir sembolik bağ oluşturun:

# ln -s /usr/src/linux-sürüm-iptables-sürüm /usr/src/linux

SRPM'leri yeniden oluşturun:

# rpm --rebuild /SRPM-dizini/iptables-sürüm-release.src.rpm

Yeni iptables paketlerini (iptables + iptables-ipv6) kurun.

  • RH 7.1 sistemlerinde zaten eski sürümü kurulu olduğundan "tazele" (freshen) seçeneğini kullanın:

    # rpm -Fhv /RPM-dizini/işlemci/iptables*-sürüm-sıra.işlemci.rpm
    

  • Eğer daha önce kurulmamışsa install seçeneğini kullanın:

    # rpm -ihv /RPM-dizini/işlemci/iptables*-sürüm-sıra.işlemci.rpm
    

  • RH 6.2 sistemlerinde 2.4.x çekirdek kurulu olmadığından paket bağımlılıkları yerine getirilemez. Kurmak için --nodeps seçeneğini kullanın:

    # rpm -ihv --nodeps /RPM-dizini/işlemci/iptables*-sürüm-sıra.işlemci.rpm
    

iptables kütüphaneleri için bir sembolik bağ oluşturmak gerekebilir:

# ln -s /lib/iptables/ /usr/lib/iptables