iptables 備忘録 [iptables]

iptables


iptablesの設定内容の確認や出力結果の違いについてまとめ。

/////////////////////////// 現在適用されているルールの確認 ////////////////////////

■iptables -L と iptables -nL の違い。

[root@svr ~]# iptables -L

          <省略>
 
Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp any
ACCEPT esp -- anywhere anywhere
ACCEPT ah -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp -- anywhere anywhere udp dpt:ipp
ACCEPT tcp -- anywhere anywhere tcp dpt:ipp
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:telnet
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
[root@svr ~]#

[root@svr ~]# iptables -nL

          <省略>
          
Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:23
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
[root@svr ~]#

※「source」、「destination」の表記。ポートの表記がサービス名か、ポート番号かの違い。


■service コマンド

[root@svr ~]# service iptables status

          <省略>

Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
5 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:23
10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
11 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
12 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

[root@svr ~]#

※ iptables -nL コマンドに 行番号が追加された表記。コマンドでルールをインサートするときは便利!!


■iptables-save コマンド

[root@svr ~]# iptables-save
# Generated by iptables-save v1.3.5 on Fri Sep 7 16:25:03 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [20233:5445954]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Sep 7 16:25:03 2012
[root@svr ~]#

※設定ファイル「/etc/sysconfig/iptables」の書式で表示される。
 現在適用されているルール。コマンドでルール設定後、
 "service iptables save" コマンドでセーブしていないルールも
 表示される。


/////////////////////////// サービス起動時に適用されるルールの確認 ////////////////////////


[root@svr ~]# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.3.5 on Thu Jul 26 14:12:22 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [337:39762]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Jul 26 14:12:22 2012
[root@svr ~]#


※iptables-saveコマンド、/etc/sysconfig/iptables ファイルともに
 iptablesコマンドの書式の通り記載されているので、コマンドの書式を忘れた場合は
 便利。(-A (append)の書式だけだけど)
タグ:iptables

sendmail LISTENソケットの変更 [Solaris 11]

Solaris10,Solaris11では、sendmail はループバックアドレスでしか 25/tcpで
LISTENしていないので、外部からもメールが受けれるように変更する。 
偶にしかやらないため忘れるのでmemo

root@solaris11:/etc/mail# svccfg -s sendmail
svc:/network/smtp:sendmail>
svc:/network/smtp:sendmail>
svc:/network/smtp:sendmail> [tab]
addpg delhash editprop extract listpg refresh selectsnap validate
apply delpg end help listprop repository set
cleanup delprop exit import listsnap revert setprop
delete describe export inventory quit select unselect
svc:/network/smtp:sendmail>
svc:/network/smtp:sendmail> listprop config
config application
config/include_info boolean false
config/local_only boolean true    ・・・ここをfalseに変えたい。
config/path_to_sendmail_mc astring
config/value_authorization astring solaris.smf.value.sendmail
svc:/network/smtp:sendmail>
svc:/network/smtp:sendmail> setprop config/local_only=false
svc:/network/smtp:sendmail>
svc:/network/smtp:sendmail> end
root@solaris11:/etc/mail#
root@solaris11:/etc/mail# svcprop sendmail |grep local_only
config/local_only boolean true        ・・・変わった。
root@solaris11:/etc/mail#
root@solaris11:/etc/mail# svcadm -v restart sendmail
Action restart set for svc:/network/smtp:sendmail.
root@solaris11:/etc/mail#
root@solaris11:/etc/mail# netstat -an|grep 25
*.25 *.* 0 0 128000 0 LISTEN    ・・・繁栄されました。
root@solaris11:/etc/mail#

※Solaris10では、/var/svc/manifest/network/ 配下に
 マニフェストのXMLファイルがあったと思ったのだが、
 Solaris11では/lib/svc/manifest/network/ 配下にあった。(探しちゃったよ)

 svcs コマンドに-l をつけて実行するとマニフェストのパスも表示されるのが分かった。
 こんな感じ。

root@solaris11:/etc/mail/cf/cf# svcs -l sendmail
fmri svc:/network/smtp:sendmail
name sendmail SMTP mail transfer agent
enabled true
state online
next_state none
state_time 2012年08月31日 12時57分47秒
logfile /var/svc/log/network-smtp:sendmail.log
restarter svc:/system/svc/restarter:default
contract_id 196
manifest /etc/svc/profile/generic.xml manifest /lib/svc/manifest/network/smtp-sendmail.xml
dependency require_all/refresh file://localhost/etc/mail/sendmail.cf (online)
dependency require_all/refresh file://localhost/etc/nsswitch.conf (online)
dependency optional_all/none svc:/system/filesystem/autofs (online)
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/service (online)
dependency require_all/refresh svc:/milestone/name-services (online)
dependency optional_all/refresh svc:/system/identity:domain (online)
dependency optional_all/none svc:/system/system-log (online)
root@solaris11:/etc/mail#

現在のプロパティを確認する場合はこちら。

root@solaris11:/etc/mail/cf/cf# svcprop sendmail
config/include_info boolean false
config/path_to_sendmail_mc astring ""
config/value_authorization astring solaris.smf.value.sendmail
config/local_only boolean false
config-file/entities fmri file://localhost/etc/mail/sendmail.cf
config-file/grouping astring require_all
config-file/restart_on astring refresh
    ・
    ・
    ・
<以下省略>

Vim memo 便利技 [vi / Vim]

Solaris & vi 育ちの為、vimはそれほど勉強していなかったので、とりあえず覚えた事をmemo。

【移動系】
gg           
1行目に移動


【編集系】
(編集中)                       


【検索系】
:g/hoge           
hogeを含む行を抽出(grepと同じ)


*、 #          
簡易 ”単語” 検索(文字列ではない)上(#)下(*)

:set nohlsearch   
検索のハイライトを消す。 (no high lite search の略)


【表示系】
:E、(:S, :Ve)     
ファイルエクスプロラーを開く 

:split、:vsplit          
画面分割 上下、左右

:set nowrap          
行を折り返さない


【その他】
:sh             
一時的にシェルに戻る。(lessの :! と同じ) (sudo でroot権限でviを許可すると。。。)


: set filetype
構文(syntax)アドオンの確認。






タグ:vi vim

BINDエラー 「not set: disabling RFC 1918 empty zones」 [BIND]

最近OpenSource版をインストールしてなかったのですが、久しぶりに9.7.6‐P1へバージョンアップ。

動作は問題なかったけど、ログを見ると何やら出ていた。

named[22174]: [ID 873579 daemon.warning] Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones

ググってもあまりネタを得られず。(時間がなく英語を訳してるのが面倒だった)

Webでどうにも解決できないときはREADME系を読むのが一番なのでSource内を見てみたところ、FAQがあった。
中を見てみると、ありました^^)

------------------------------------------------------
Q: What does "RFC 1918 response from Internet for 0.0.0.10.IN-ADDR.ARPA"
mean?
------------------------------------------------------

Ansに書かれている用に、

zone "10.IN-ADDR.ARPA" {
type master;
file "empty";
};

empty:
@ 10800 IN SOA <name-of-server>. <contact-email>. (
1 3600 1200 604800 10800 )
@ 10800 IN NS <name-of-server>.


を参考に追加。
ログも消えました。めでたしめでたし。

タグ:BIND エラー

BIND の エラー 「no current owner name」 [BIND]

ゾーンファイルにゴミの空白が入っていた時のエラー

一行目を@で初めているつもりだったが、先頭に空白があったために出たエラー

------------
host named[22489]: [ID 873579 daemon.error] /usr/local/bind/var/named/db.empty:1: no current owner name
host named[22489]: [ID 873579 daemon.error] zone 168.192.in-addr.arpa/IN: loading from master file /usr/local/bind/var/named/db.empty failed: no owner
------------

まあそうですよね。named.confに記載している自分の管理ゾーンじゃない!(空白だから)
ゾーンファイルの行の先頭は大事。無視されるはずがないです。
タグ:エラー BIND

Avance あれこれ

Avance On Linux (RHEL 5.5) 日本語キーボードを選択すると、パイプ(|)やバックスラッシュ(¥)を入力出来ない。英語にしておかないといざという時に困ります。

サーバーを2台同時に起動すると、2台ともスタンバイ状態になる事がシバシバ。
ビジネスネットワークのケーブルを片方抜いてプライマリを認識させてとりあえず対応。

grubの画面ってどうやって出すんだろう?
タグ:Avance

named-checkzone コマンドの -D オプションと -s オプション [BIND]

意外と知らなかった便利な使い方。

 # named-checkzone -D hoge.jp hoge.zone

ファイルに保存したい場合は、-oで

# named-checkzone -o hoge_zone.txt hoge.jp hoge.zone

きれいに成形しなおしたい場合は
 
 # named-checkzone -D -s relative hoge.jp hoge.zone

ん~ いい感じ ^^)

zfs create でマウントポイントも設定 [zfs]

zfs create した後、 zfs set mountpoint= をやるのが面倒なので

zfs create -o mountpoint=/usr/local rpool/local

タグ:ZFS

solaris 11 で固定IPアドレス設定 [Solaris 11]

そろそろSolaris11をしっかり覚えたいのでメモ。


・Network Auto-Magicを無効化し、defaultを有効化する。
  root@solaris:~# svcadm disable svc:/network/physical:nwam
  root@solaris:~# svcadm enable svc:/network/physical:default

・netadmコマンドでDHCPを無効化
  root@solaris:~# netadm enable -p ncp DefaultFixed

・インターフェースnet0を作り直す。
root@solaris:~# ipadm create-ip net0
確認
root@solaris:~# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full e1000g0

・IPアドレスの設定
root@solaris:~# ipadm create-addr -T static -a 10.0.1.11/16 net0/staticIPv4

※net0の後につける識別子はハイフンやアンダースコアが使えなかった。

・確認
root@solaris:~# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net0/staticIPv4 static ok 10.0.1.11/16
lo0/v6 static ok ::1/128

・疎通確認
root@solaris:~# ping 10.0.0.1            
10.0.0.1 is alive ・・・相変わらず -s をつけないとpingを打ち続けない。。

・デフォルトゲートウェイを追加
root@solaris:~# route -p add default 10.0.0.1
add net default: gateway 10.0.0.1
add persistent net default: gateway 10.0.0.1





タグ:Solaris 11

VMware vSphere Client で CentOSの仮想コンソール変更 [RHEL(CentOS)]

今までVertual BOXを使う事が多かったので困っていなかったのですが、VMwareを使うときに
やり方に困ったのでメモ。

CentOSでの仮想コンソールを切り替えたいときに、「Ctrl」+「Alt」+「Fx」を押下しますが、
VMwareの場合、「Ctrl」+「Alt」+「Fx」を実行しても切り替わらない。
(「Ctrl」+「Alt」+「Backspace」や、「Ctrl」+「Alt」+「Del」は実行出来るのに。。。)

色々やってたら見つけた。

「Ctrl」+「Windowsキー」+「Alt」+「Fx」 で変更可能。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。