Iptables komennon "resetointi"

Tarkoitus olisi tehdä portinohjaus käyttämällä bash-skriptiä. Katsoin komennolla 'sudo iptables -L', että aika paljon on jo valmiiksi ohjauksia käytössä.

Millähän tavalla olisi helpoin palauttaa ao. skriptin tekemät muutokset. Tuo echo-komento on ainakin turha, koska forwardointi on jo enabloitu. Mutta periaatteessa nuo kolme alinta riviä pitäisi jotenkin kumota. Riittääkö, että korvaa -A:n -D:llä?
(--delete -D chain Delete matching rule from chain)

#!/bin/bash

IPTBL=/sbin/iptables

IF_IN=eth0
PORT_IN=40022

IP_OUT=172.16.93.128
PORT_OUT=22

echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTBL -A PREROUTING -t nat -i $IF_IN -p tcp --dport $PORT_IN -j DNAT --to-destination ${IP_OUT}:${PORT_OUT}
$IPTBL -A FORWARD -p tcp -d $IP_OUT --dport $PORT_OUT -j ACCEPT
$IPTBL -A POSTROUTING -t nat -j MASQUERADE
10429
Äänestä

Muut lukivat myös

Vastaukset 10

Vanhimmat

Ihan sivuhuomautuksena se, että nykyään voii olla järkevämpää opetella suoraan käyttämään nftablesia iptablesin sijasta. En osaa sanoa mikä on tilanne muissa distroissa, mutta Debianissa ainakin iptables on jo korvattu uudemmalla nftablesilla. Uusissa Debian asennuksissa nftables tulee käyttöön oletuksena. Toki palomuurin säätämiseen on sellaii helpottavia ohjelmistoja kuten firewalld ja sen graafinen käyttöliittymä firewall-config, sekä ufw ja sen graafinen käyttöliittymä gufw. Kaikki nuo löytyy esimerkiksi itse käyttämästäni Debianista ja mulla onkin itselläni käytössä firewalld ja firewall-config. Ne tukee jo nftablesia, en just muista tukeeko ufw ja gufw. Itse pidän firewalld:stä ja firewall-configista enemmän vaikka ufw ja gufw voivat ehkä olla teoriassa helppokäyttöisempiä jollekulle. firewalld ja firewall-config ovat kuitenkin paljon monipuolisempia ja niissä on se kiva puoli, että firewalld mahdollistaa jokaiselle verkolle omat palomuuriasetukset, jotka otetaan automaattisesti käyttöön kun network-manager yhdistää koneen tiettyyn wi-fi verkkoon. ufw jagufw eivät tuollaista ominaisuutta sisällä.

T. miksuh

Äänestä

Tarkoitus ei siis ollut mitenkään vähätellä iptablesia, vaan yksinkertasesti muistuttaa että muutkin distrot varmasti siirtyy pikkuhiljaa iptablesista nftablesiin Debianin tapaan. Eli ainakin jos nyt alkaa opettlemaan palomuurin säätöä, niin voisi ehkä olla järkevintä opetella samantien nftablesin käyttö iptablesin sijsta.

T. miksuh

Äänestä
  • Tarkennuksena se, että nykyisessä Debian 10 "Buste" -veriossa on jo oletuksena käytössä iptablesin nftables backend. Ensi kesänä julkastavassa Debian 11 "Bullseye" -versiossa iptables on jo korvattu nftablesilla niin ettei iptables ole enää oletuksena asennettuna vaikka löytyykin edelleen repositorystä, jos sitä haluaa käyttää.

    T. miksuh

    Äänestä

  • Anonyymi kirjoitti:

    Tarkennuksena se, että nykyisessä Debian 10 "Buste" -veriossa on jo oletuksena käytössä iptablesin nftables backend. Ensi kesänä julkastavassa Debian 11 "Bullseye" -versiossa iptables on jo korvattu nftablesilla niin ettei iptables ole enää oletuksena asennettuna vaikka löytyykin edelleen repositorystä, jos sitä haluaa käyttää.

    T. miksuh

    Iptables on näyttäisi olevan Debianissa pultattu nf_tablesiin.

    $ cat /etc/debian_version
    10.7

    $ sudo iptables --version
    iptables v1.8.2 (nf_tables)

    Äänestä

  • Anonyymi kirjoitti:

    Iptables on näyttäisi olevan Debianissa pultattu nf_tablesiin.

    $ cat /etc/debian_version
    10.7

    $ sudo iptables --version
    iptables v1.8.2 (nf_tables)

    Myös Ubuntussa 20.10:
    sudo iptables --version
    iptables v1.8.5 (nf_tables)

    Äänestä

  • Anonyymi kirjoitti:

    Myös Ubuntussa 20.10:
    sudo iptables --version
    iptables v1.8.5 (nf_tables)

    20.04:ssä vielä vanha.

    iptables v1.8.4 (legacy)

    Äänestä

Ah, Itse ratkaisin tämän ongelman siten että en käytä -A, vaan -I 0, eli sääntö menee aina ensimmäiseksi.

Sitten listaat säännöt parametrilla --list-numbers tai --line-numbers (nyt en muista että mikä) ja siitä voit sitten delettää säännön numero 0 kolme kertaa, koska ensimmäinen poisto muuttaa seuraavan säännön numeroksi 0, ja nähdäkseni sinulla oli vain 3 sääntöä.

Tätä kannattaa käyttää jos osoitteet ovat dynaamiset.

Muussa tapauksessa voit käyttää -A ja listata säännöt numeroina edelleen, ja 'grep'ata niistä juuri '172.16.93.128', '40022' ja ',MASQUERADE', ja sitten delettää nuo säännöt.

Äänestä

Palomuuri sisältyy linux-kerneliin. Monissa jakeluissa networkmanager tai joku muu työkalu (yast Susessa) luo oletussäännöt. Iptables on oletustyökalu kaikissa jakeluissa palomuurin säätämiseen ja ennen kuin ottaa omia säätöjä käyttöön pitää jakelun säädöt tyhjätä ja tarkistaa, että omat säädöt otetaan käyttöön vasta jakelun käynnistys-skriptien jälkeen.

Äänestä

Komento on: sudo iptables -F

Äänestä
  • Siis tuolla puhdistuu koko taulu! ÄLÄ käytä tuota! Pahoittelut, ymmärsin kysymyksen väärin

    Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Tarkoitus olisi tehdä portinohjaus käyttämällä bash-skriptiä. Katsoin komennolla 'sudo iptables -L', että aika paljon on jo valmiiksi ohjauksia käytössä.

Millähän tavalla olisi helpoin palauttaa ao. skriptin tekemät muutokset. Tuo echo-komento on ainakin turha, koska forwardointi on jo enabloitu. Mutta periaatteessa nuo kolme alinta riviä pitäisi jotenkin kumota. Riittääkö, että korvaa -A:n -D:llä?
(--delete -D chain Delete matching rule from chain)

#!/bin/bash

IPTBL=/sbin/iptables

IF_IN=eth0
PORT_IN=40022

IP_OUT=172.16.93.128
PORT_OUT=22

echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTBL -A PREROUTING -t nat -i $IF_IN -p tcp --dport $PORT_IN -j DNAT --to-destination ${IP_OUT}:${PORT_OUT}
$IPTBL -A FORWARD -p tcp -d $IP_OUT --dport $PORT_OUT -j ACCEPT
$IPTBL -A POSTROUTING -t nat -j MASQUERADE

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu