Changes between Initial Version and Version 1 of linux/iptable


Ignore:
Timestamp:
2018/07/13 18:55:47 (2 years ago)
Author:
yuna
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • linux/iptable

    v1 v1  
     1= iptables 
     2 
     3== ルールの追加方法 
     4 
     5追加したい場所を確認 
     6 
     7{{{ 
     8# iptables -L --line-numbers 
     9Chain INPUT (policy ACCEPT) 
     10num  target     prot opt source               destination 
     111    cali-INPUT  all  --  anywhere             anywhere             /* cali:Cz_u1IQiXIMmKD4c */ 
     122    KUBE-FIREWALL  all  --  anywhere             anywhere 
     133    KUBE-EXTERNAL-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes externally-visible service portals */ 
     144    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED 
     155    ACCEPT     icmp --  anywhere             anywhere 
     166    ACCEPT     all  --  anywhere             anywhere 
     177    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh 
     188    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited 
     19}}} 
     20 
     21INPUTチェインの8行目でリジェクトされる前にルールを追加する。 
     22 
     23{{{ 
     24# iptables -I INPUT 8 -p tcp --dport 8080 -j ACCEPT 
     25}}} 
     26 
     27下記のコマンドで追加すると、ルールが追加されている。 
     28 
     29{{{ 
     30# iptables -L --line-numbers 
     31Chain INPUT (policy ACCEPT) 
     32num  target     prot opt source               destination 
     331    cali-INPUT  all  --  anywhere             anywhere             /* cali:Cz_u1IQiXIMmKD4c */ 
     342    KUBE-FIREWALL  all  --  anywhere             anywhere 
     353    KUBE-EXTERNAL-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes externally-visible service portals */ 
     364    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED 
     375    ACCEPT     icmp --  anywhere             anywhere 
     386    ACCEPT     all  --  anywhere             anywhere 
     397    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh 
     408    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:webcache 
     419    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited 
     42}}} 
     43 
     44== デバッグ 
     45 
     46上記のルールの追加を利用して、ドロップする前にログを出力するルールを追加する。 
     47 
     48{{{ 
     49# iptables -I INPUT 8 -j LOG --log-prefix "IPTABLES DROP:" --log-level=info 
     50}}} 
     51 
     52{{{ 
     53Chain INPUT (policy ACCEPT) 
     54num  target     prot opt source               destination 
     551    cali-INPUT  all  --  anywhere             anywhere             /* cali:Cz_u1IQiXIMmKD4c */ 
     562    KUBE-FIREWALL  all  --  anywhere             anywhere 
     573    KUBE-EXTERNAL-SERVICES  all  --  anywhere             anywhere             ctstate NEW /* kubernetes externally-visible service portals */ 
     584    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED 
     595    ACCEPT     icmp --  anywhere             anywhere 
     606    ACCEPT     all  --  anywhere             anywhere 
     617    ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh 
     628    LOG        all  --  anywhere             anywhere             LOG level info prefix "IPTABLES DROP:" 
     639    REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited 
     64}}} 
     65 
     66ドロップされたパケットがあると、/var/log/messagesに表示される。 
     67 
     68{{{ 
     69Jul 13 09:54:40 master1 kernel: IPTABLES DROP:IN=eth0 OUT= MAC=00:0d:3a:4d:fc:d2:74:83:ef:85:23:fc:08:00 SRC=10.0.0.8 DST=10.0.0.7 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=46332 DF PROTO=TCP SPT=39658 DPT=2379 WINDOW=29200 RES=0x00 SYN URGP=0 
     70}}} 
     71 
     72上記の例では、2379にアクセスされているのが分かる。iptablesで2379を空けてやると通信がうまくいくようになる。