Category Archives: Linux

CentOSでIPアドレスを設定する

1.ネットワークの設定
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=”eth0″
IPADDR=”49.XXX.XXX.XXX”
NETMASK=”255.XXX.XXX.0″
GATEWAY=”49.XXX.XXX.XXX”
ONBOOT=”yes”
TYPE=”Ethernet”

説明:
DEVICE デバイス名eth0 eth1等を設定
IPADDR IPアドレスの指定
NETMASK サブネットマスクの設定
2.ゲートウェイの設定
cat /etc/sysconfig/network
NETWORKING=yes         //ネットワークを利用するかどうか
HOSTNAME=localhost.localdomain //ホスト名
GATEWAY=49.XXX.XXX.XXX //ゲートウェイ

3.DNSの設定
vim /etc/resolv.conf

options XXX
nameserver XXX
nameserver XXX
search XXX
nameserver:DNSサーバIP

4.ネットワークサービスが再起動する
service network restart または  /etc/init.d/network restart

centosでrsncをインストール、設定する

1.yum install rsync
vi /etc/rsyncd.conf
設定内容:
uid = root
gid = root
use chroot = no
max connections = 30
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
hosts allow = 127.0.0.1,192.168.130.109
read only = yes
auth users = root
secrets file = /etc/rsync.pas
[bbsdata]
path = /file

2.vi /etc/rsync.pas
root:startnew24

3.再起動
ps -ef |grep rsync
kill -9 22419 && rm -rf /var/run/rsync*
rsync –daemon

4.クライアント
rsync -aP –delete root@192.168.130.109::dbbak/199news /www/dbbak –password-file=/www/rsync.pas
vi rsync.pas
startnews24

linuxでSubversion基本コマンドまとめ

操作コマンド:
svnadmin create E:\Subversion\data\user
svnserve -d -r E:\Subversion\data
sc.exe create SVNService binpath= “E:\Subversion\bin\svnserve.exe –service -r E:\Subversion\data” depend= tcpip

 

CentOSでSquidプロキシサーバーを設定する

設定内容:
vim /etc/squid/squid.conf
cache_mem 64 MB
cache_dir ufs /var/spool/squid 1000 16 256
cache_effective_user squid
cache_effective_group squid
dns_nameservers 8.8.8.8
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 192.168.0.1
cache_mgr admin@arkgame.com
http_access allow allO

ubuntuでoracleとjdkをインストールする

操作コマンド:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get remove –purge openjdk*
sudo apt-get install oracle-jdk7-installer
sudo update-alternatives –config java

Linuxでiptablesを利用してNATを構築するメモ

構築手順:
1.ネットワークカードをチェック
ls /etc/sysconfig/network-scripts/ifcfg-eth* | wc -l
結果:2

2.グローバルIPを利用してeth0を設定
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
BROADCAST=xx.xx.xx.255 # 追加オプション
HWADDR=00:50:BA:88:72:D4 # 追加オプション
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.0 # ISP提供
NETWORK=xx.xx.xx.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
GATEWAY=xx.xx.xx.1 # ISP提供

3.内部ネットワークを利用してeth1を設定
cat /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
PEERDNS=yes
HWADDR=00:50:8B:CF:9C:05 # Optional
TYPE=Ethernet
IPV6INIT=no
DEVICE=eth1
NETMASK=255.255.0.0 # Specify based on your requirement
BROADCAST=””
IPADDR=192.168.2.1 # Gateway of the LAN
NETWORK=192.168.0.0 # Optional
USERCTL=no
ONBOOT=yes
4.ホストを設定
cat /etc/hosts
127.0.0.1 nat localhost.localdomain localhost
5.ゲートウェイの設定
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nat
GATEWAY=xx.xx.xx.1

6.DNSを設定
cat /etc/resolv.conf
nameserver 203.145.184.13 # DNSサーバー
nameserver 202.56.250.5  # 次のDNSサーバー

7.NATを設定
iptables –table nat –flush
iptables –delete-chain

iptables –table nat –delete-chain //ルールチェーンやNATテーブルを削除

//IP転送
iptables –table nat –append POSTROUTING –out-interface eth0 -j MASQUERADE
iptables –append FORWARD –in-interface eth1 -j ACCEPT

//パッケージ転送
echo 1 > /proc/sys/net/ipv4/ip_forward

//iptables配置を有効にする
service iptables restart

8.テスト
ping 192.168.2.1
ping yahoo.co.jp

Linuxでファイアウォール(iptables)を構築する設定内容確認と設定例

iptables設定内容下記:
echo “Enable IPForwarding…”

echo 1>/proc/sys/net/ipv4/ip_forward

echo “iptablesルール開始…”

/sbin/modprobe iptable_filter

/sbin/modprobe ip_tables

/sbin/modprobe iptable_nat

/sbin/modprobe ip_nat_ftp ;//FTPをサポート

/sbin/modprobe ip_conntrack_ftp ;

/sbin/modprobe ip_conntrack_h323 ;//NETMEETINGをサポート

/sbin/modprobe ip_nat_h323 ;

iptables -F INPUT

iptables -F FORWARD

iptables -F OUTPUT

iptables -F POSTROUTING -t nat

iptables -F PREROUTING -t nat

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i eth1 -j ACCEPT   //eth1内部ネットワーク

iptables -A INPUT -i eth0 -m state –stateESTABLISHED,RELATED -j ACCEPT  //eth0グローバルネットワーク

iptables -A FORWARD -s 192.168.0.0/24 -jACCEPT

iptables -A FORWARD -i eth0 -m state–state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -s192.168.0.0/24 -j MASQUERADE

/etc/rc.d/init.d/iptables restart  //iptablesが再起動

iptables -L

 

 

#touch /etc/rc.d/firewall
# chmod u+x /etc/rc.d/firewall
# echo “/etc/rc.d/firewall” >> /etc/rc.d/rc.local
# vi /etc/rc.d/firewall
#!/bin/bash
echo “1” /proc/sys/net/ipv4/ip_forward
INET_IFACE=”eth1″
INET_IP=”10.19.51.182″
LAN_IFACE=”eth0″
LAN_IP=”192.168.0.1″
LAN_IP_RANGE=”192.168.0.0/24″
IPT=”/sbin/iptables”
SERVER=”192.168.0.100″
DNS=”192.168.0.99″
HTTP=”80″
MAIL_SMTP=”25″
MAIL_POP3=”110″
DNS_PORT=”53″
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
for TABLE in filter nat mangle ; do
$IPT -t $TABLE -F
$IPT -t $TABLE -X
done
$IPT -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
for DNS in $(grep ^n /etc/resolv.conf|awk ‘{print $2}’) ; do
$IPT -A INPUT -p udp -s $DNS –sport domain -j ACCEPT
done
$IPT -A INPUT -p tcp –sport $HTTP -j ACCEPT
$IPT -A INPUT -p tcp –sport $MAIL_25 -j ACCEPT
$IPT -A INPUT -p tcp –sport $MAIL_110 -j ACCEPT
$IPT -A INPUT -p tcp –sport $DNS_PORT -j ACCEPT
$IPT -N LOGDENY
$IPT -A LOGDENY -j LOG –log-prefix “iptables:”
$IPT -A LOGDENY -j DROP
$IPT -A INPUT -i ! lo -m state –state NEW,INVALID -j LOGDENY
#if [ “$INET_IFACE” = ppp0 ] ; then
#$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
#else
#$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT –to $INET_IP
#fi
$IPT -t nat -A POSTROUTING -o $INET_IFACE -s 192.168.0.25 -j SNAT –to $INET_IP

$IPT -t net -A PRERROUTING -p tcp -d$INET_IP –dport $HTTP \
-j DNAT –to $SERVER:$HTTP
$IPT -t net -A PRERROUTING -p tcp -d $INET_IP –dport $MAIL_25 \
-j DNAT –to $SERVER:$MAIL_25
$IPT -t net -A PRERROUTING -p tcp -d $INET_IP –dport $MAIL_110 \
-j DNAT –to $SERVER:$MAIL_110
$IPT -t net -A PRERROUTING -p tcp -d $INET_IP –dport $DNS_PORT \
-j DNAT –to $DNS:$DNS_PORT
:wq
#/etc/rc.d/firewall

CentOSでDNSサーバーをインストールするスクリプト

スクリプトコード:
#!/bin/bash

conf=/var/named/chroot/etc/named.conf
datadir=/var/named/chroot/var/named
rpm -q bind &> /dev/null
if [ $? -ne 0 ]; then
yum -y install bind bind-chroot caching-nameserver
fi

if [ ! -f $conf ];then
echo “options {
directory \”/var/named\”;
};” > $conf
fi

read -p “ドメイン名を入力してください:” domain
grep $domain $conf &> /dev/null
if [ $? -ne 0 ]; then
echo “zone \”$domain\” in {
type master;
file \”$domain\”;
};” >> $conf
echo “\$ttl 86400
@ in soa ${domain}. root.${domain}. (
2013010101
3h
15m
1w
1d

)”> $datadir/$domain
while true
do
read -p “Type of recond(ns/a/cname/mx/ptr):” type
case $type in
ns)
echo $domain | grep “in-addr.arpa” &> /dev/null

if [ $? -eq 0 ]; then
read -p “hostname of FDQN:” fdqn
echo “@ in ns $fdqn.”>> $datadir/$domain

else
read -p “head of hostname:” head
echo “@ in ns $head”>> $datadir/$domain
fi
;;
a)
read -p “head of hostname:” head
read -p “ip address:” ip
echo “$head in a $ip”>> $datadir/$domain

;;
ptr)
read -p “ip address:” ip
read -p “hostname of FQDN:” fqdn
host=$(echo $ip | awk -F. ‘{print $4}’)
echo “$host in ptr $fqdn.”>> $datadir/$domain
;;
mx)
read -p “priority of recond:” priority
read -p “head of hostname:” head
read -p “ip address:” ip

echo “@ in mx $priority $head”>>$datadir/$domain
echo “$head in a $ip”>> $datadir/$domain
;;
cname)
read -p “please input aliase:” aliase
read -p “head of hostname:” head
echo “$aliase in cname $head”>> $datadir/$domain

;;
esac
read -p “続けてるか (yes/no)?” yn
if [ $yn = no ]; then
exit 0
fi

done
fi

CentOS 6.5でHHVMをインストールする

1.インストール手順:
yum -y install http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
cd /etc/yum.repos.d
wget http://www.hop5.in/yum/el6/hop5.repo
yum clean all
yum install hhvm

2.エラーメッセージ:
hhvm: error while loading shared libraries: liblcms2.so.2: cannot open shared object file: No such file or directory
解決対策:
yum install http://pkgrepo.linuxtech.net/el6/release/x86_64/liblcms2-2.4-1.el6.x86_64.rpm

Linuxでネットワーク、プロセス、ユーザー、サービス、プログラム情報を取得する方法

1.ネットワーク:
# ifconfig  # すべてのネットワークインターフェイスのプロパティを表示
# iptables -L # ファイアウォールの設定を表示
# route -n   # ルーティングテーブルを表示
# netstat -lntp # すべてのリスニングポートを表示
# netstat -antp #すべての接続を表示
# netstat -s # ネットワークの統計を表示

2.プロセス:
# ps -ef # すべてのプロセスを表示
# top  # リアルタイムでプロセス状態を表示
3.ユーザー:
# w         # アクティブユーザーを表示
# id <ユーザー名> # 指定されたユーザー情報を表示
# last        # ユーザーログインログを表示
# cut -d: -f1 /etc/passwd # すべてのシステムユーザーを表示
# cut -d: -f1 /etc/group # すべてのシステムグループを表示
# crontab -l       # 現在ユーザーのタスクを表示
4.サービス:
# chkconfig –list # すべてのシステムサービスをリスト
# chkconfig –list | grep on # すべての起動してシステムサービスをリスト
5.プログラム
# rpm -qa # すべてのインストール済みパッケージをリスト