CentOS 7 network prefix

Linux 2015. 12. 4. 18:44

network 설정방법이 좀 달라졌음


[root@localhost network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-enp6s0



랜카드명이 eth0 에서 enp6s0 처럼 변경되었음. 



고정ip설정시 netmask 설정은 NETMASK, PREFIX 중에 하나만 사용해야 함. 

두 개 다 지정해 놓을 경우 PREFIX가 우선함


NETMASK = 255.255.255.224

PREFIX = 27


와 


PREFIX = 27

NETMASK = 255.255.255.224


는 동일하게 PREFIX값이 우선함


PREFIX 값을 주석처리하거나 삭제함



-----



서브넷 클래스에 따른 NETMASK / PREFIX 값 (둘 중 하나만 사용)


NETMASK = 255.255.255.0

PREFIX = 24

호스트범위 : 1~254



NETMASK = 255.255.255.128

PREFIX = 25

호스트범위 : 1~126



NETMASK = 255.255.255.192

PREFIX = 26

호스트범위 : 1~62



NETMASK = 255.255.255.224

PREFIX = 27

호스트범위 : 33~62



NETMASK = 255.255.255.240

PREFIX = 28

호스트범위 : 49~62



NETMASK = 255.255.255.248

PREFIX = 29

호스트범위 : 49~54



NETMASK = 255.255.255.252

PREFIX = 30

호스트범위 : 53~54











블로그 이미지

엘로드넷

,

리눅스 NFS설정

Linux 2015. 9. 25. 18:02

서버1 : 192.168.0.1 (공유해 주는 서버)

서버2 : 192.168.0.2 (공유 받을 서버)



1. 서버1에서 설정


공유해줄 폴더명 : /home/userid/testfolder


# vi /etc/exports 


/home/userid/testfolder/ 192.168.0.2(rw,sync,no_root_squash)

 


공유해줄 폴더가 여러개인 경우 밑에 줄에 같은 방식으로 입력해 주면 된다.


저장하고 빠져나온다.



NFS 을 재시작한다.

#/etc/init.d/nfs restart



2. 서버2에서 설정


공유폴더 만들기 :

# mkdir /home/userid/testfolder



마운트 하기

# mount -t nfs 192.168.0.1:/home/userid/testfolder /home/userid/testfolder




끝.




블로그 이미지

엘로드넷

,

설치할 것들 :


httpd-2.4.16

php-5.6.11

mysql-5.6.25




[아파치 설치]

1. 아파치 파일을 다운 받는다.

#cd /usr/local/src

#wget http://mirror.apache-kr.org/httpd/httpd-2.4.16.tar.gz



2. 압축을 푼다.

#tar xvfz httpd-2.4.16.tar.gz


3. /usr/local/apache2 에 설치를 할 것이다.

#cd httpd-2.4.16

#./configure --prefix=/usr/local/apache2 


아래와 같은 에러가 발생함.


checking for chosen layout... Apache

checking for working mkdir -p... yes

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

configure: 

configure: Configuring Apache Portable Runtime library...

configure: 

checking for APR... no

configure: error: APR not found.  Please read the documentation.


APR이 없다고 하므로 설치한다.


4. apr 설치 (apr : apache portable runtime)

#wget http://mirror.apache-kr.org/apr/apr-1.5.2.tar.gz

#tar xvfz apr-1.5.2.tar.gz

#cd apr-1.5.2

#./configure --prefix=/usr/local/apr


아래와 같은 에러가 발생함


rm: cannot remove 'libtoolT': No such file or directory


#cp -arp libtool libtoolT


로 해결


#./configure --prefix=/usr/local/apr


#make

#make install



5. apr-util 설치


#wget http://mirror.apache-kr.org/apr/apr-util-1.5.4.tar.gz

#tar xvfz apr-util-1.5.4.tar.gz

#cd apr-util-1.5.4

#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

#make

#make install



6. 다시 아파치 설치

#cd /usr/local/src/httpd-2.4.16

#./configure --prefix=/usr/local/apache2


아래와 같은 에러가 남


configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/



pcre설치


#yum -y install pcre-devel



다시 시도


prefork 설정

#vi /server/mpm/prefork/prefork.c


DEFAULT_SERVER_LIMIT = 1024



worker  설정

#vi server/mpm/worker/worker.c


DEFAULT_SERVER_LIMIT = 64






#./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-rewrite --enable-ssl --enable-so 



openssl 에러가 날 경우


#yum install opelssl*




#make

#make install

 

프로세스 확인


[root@cent7_64 /]# ps -ef | grep httpd

root      1508     1  0 17:24 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1635  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1636  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1642  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1719  1508  0 17:35 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

root      1754  2391  0 17:43 pts/0    00:00:00 grep --color=auto httpd

[root@cent7_64 /]# 





끝.



[MySQL 설치]


1. mysql.com 에서 5.6.25 버전을 다운받아 /usr/local/src에 올려준다.

/usr/local/src  에서 작업한다.


#tar xvfz mysql-5.6.25.tar.gz

#cd mysql-5.6.25


mysql은 cmake로 설치해야 하므로 cmake를 설치한다.

#yum -y install cmake


#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3306 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci 


아래와 같은 에러가 날 경우

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 



#yum install ncurses-devel

#rm -rf CMakeCache.txt


후에

#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3306 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci 



data폴더는 /usr/local/mysql/data이고

my.cnf폴더는 /etc 이다.


#make

#make install


#cp ./support-files/my-default.cnf /etc/my.cnf

#vi /etc/my.cnf

character-set-server = euckr



mysql사용자 등록

#useradd -M -s /bin/false mysql



초기 디비 설치

#chmod 700 ./scripts/mysql_install_db

#./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data



데몬 시작

#/usr/local/mysql/bin/mysqld_safe --user=mysql &


mysql root 비번 설정

#/usr/local/mysql/bin/mysqladmin -u root password '비밀번호'

(비밀번호는 작은 따옴표로 두른다.)


#mysql root 암호를 잊어버린 경우
#killall mysqld
#/usr/local/mysql/bin/mysqld_safe --skip-grant-table &
#/usr/local/mysql/bin/mysql -u root mysql

mysql>update user set password=password('새로운 비번') where user='root';
mysql>flush privileges;
mysql>quit;

#killall mysqld
#/usr/local/mysql/bin/mysqld_safe --user=mysql &



부팅후에 자동시작하려면

#vi /etc/rc.d/rc.local 

아래와 같이 추가해 준다.


!/bin/bash

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

#

# It is highly advisable to create own systemd services or udev rules

# to run scripts during boot instead of using this file.

#

# In contrast to previous versions due to parallel execution during boot

# this script will NOT be run after all other services.

#

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure

# that this script will be executed during boot.


touch /var/lock/subsys/local


/usr/local/mysql/bin/mysqld_safe --user=mysql &




프로세스 확인


[root@cent7_64 /]# ps -ef | grep mysqld

root      1792  2391  0 18:21 pts/0    00:00:00 grep --color=auto mysqld

root     15085  2391  0 15:38 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe -user=mysql

mysql    15288 15085  0 15:38 pts/0    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql -user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/tmp/mysql.sock

[root@cent7_64 /]# 



MySQL 접속


[root@cent7_64 /]# mysql -u root -p mysql

Enter password: 

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A


Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.6.25 Source distribution


Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> 



모든 곳에서 mysql을 실행하려면 (root인 경우)

#vi /root/.bash_profile

아래와 같이 수정


# .bash_profile


# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi


# User specific environment and startup programs


PATH=$PATH:$HOME/bin:/usr/local/mysql/bin


export PATH

~             



특정 사용자의 경우에는 

#vi /home/계정명/.bash_profile 

을 수정해 주면 된다.


끝.





[PHP 설치]


1. php.net 에 가서 php파일을 다운 받는다. /usr/local/src 에 올려둔다. 5.6.11 버전을 설치할 것이다.

작업 위치는 /usr/local/src이다.


PHP컴파일을 위해 필요한 라이브러리들을 설치한다.


#yum install libxml*

#yum install bzip2-devel

#yum install curl-devel

#yum install gdbm-devel

#yum install libjpeg-devel

#yum install libpng*


아래와 같은 에러가 난다.


Error: libpng12-devel conflicts with 2:libpng-devel-1.5.13-5.el7.x86_64

 You could try using --skip-broken to work around the problem

 You could try running: rpm -Va --nofiles --nodigest


안내된 대로 아래와 같이 다시 설치한다.

#yum install libpng* --skip-broken


#yum install freetype-devel




mhash 설치

#wget  http://downloads.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz

#tar xvfz mhsah-0.9.9.9.tar.gz

#cd mhash-0.9.9.9

#./configure

#make

#make install



libmcrypt 설치

#wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz

#tar xvfz libmcrypt-2.5.7.tar.gz

#cd libmcrypt-2.5.7

#./configure

#make

#mkae install



#vi /etc/ld.so.conf

아래와 같이


include ld.so.conf.d/*.conf

/usr/local/lib


저장하고 빠져나온다.


#ldconfig



mcrypt 설치

#wget http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

#tar xvfz mcrypt-2.6.8.tar.gz

#cd mcrypt-2.6.8

#./configure

#make

#make install



libjpeg를 설치했는데도 아래와 같은 에러가 날 경우

configure: error: libjpeg.(a|so) not found.


#yum -y install libjpeg-devel 

#yum -y install libpng-devel



#ln -s /usr/lib64/libjpeg.so /usr/lib

#ln -s /usr/lib64/libpng.so /usr/lib


로 해 줌





이제 PHP를 설치한다.


/usr/local/src에 php-5.6.11.tar.gz를 올려두었었다.


#tar xvfz php-5.6.11.tar.gz

#cd php-5.6.11

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-mod-charset --with-charset=utf8 --with-config-file-path=/etc --enable-sigchild --with-libxml-dir --with-openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --with-curl --enable-dba --with-gdbm --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-imap-ssl --with-kerberos --enable-mbstring --with-mhash --with-mcrypt --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-sockets --with-regex=php --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-soap --enable-wddx




#make

#make install



#cp php.ini-development /etc/php.ini



php를 사용할 수 있도록 아파치 설정 수정

#vi /usr/local/apache2/conf/httpd.conf


ServerName 주석 해제

ServerName 192.168.0.252:80



php사용 확장자 등록 : php, php3 등등

<IfModule mime_module>

    #

    # TypesConfig points to the file containing the list of mappings from

    # filename extension to MIME-type.

    #

    TypesConfig conf/mime.types


    #

    # AddType allows you to add to or override the MIME configuration

    # file specified in TypesConfig for specific file types.

    #

    #AddType application/x-gzip .tgz

    #

    # AddEncoding allows you to have certain browsers uncompress

    # information on the fly. Note: Not all browsers support this.

    #

    #AddEncoding x-compress .Z

    #AddEncoding x-gzip .gz .tgz

    #

    # If the AddEncoding directives above are commented-out, then you

    # probably should define those extensions to indicate media types:

    #

    AddType application/x-compress .Z

    AddType application/x-gzip .gz .tgz

    AddType application/x-httpd-php .html .php .php3 .php4 .php5 .phtml .cgi .inc

    AddType application/x-httpd-php-source .phps


    #

    # AddHandler allows you to map certain file extensions to "handlers":

    # actions unrelated to filetype. These can be either built into the server

    # or added with the Action directive (see below)

    #

    # To use CGI scripts outside of ScriptAliased directories:

    # (You will also need to add "ExecCGI" to the "Options" directive.)

    #

    #AddHandler cgi-script .cgi


    # For type maps (negotiated resources):

    #AddHandler type-map var


    #

    # Filters allow you to process content before it is sent to the client.

    #

    # To parse .shtml files for server-side includes (SSI):

    # (You will also need to add "Includes" to the "Options" directive.)

    #

    #AddType text/html .shtml

    #AddOutputFilter INCLUDES .shtml

</IfModule>




php모듈에 아래와 같이 주석이 해제되었는지 확인

LoadModule php5_module        modules/libphp5.so








아파치 설정파일 에러 체크

#/usr/local/apache2/bin/apachectl -t


[root@cent7_64 php-5.6.11]# /usr/local/apache2/bin/apachectl -t

Syntax OK


문제가 없다.


아파치 시작

#/usr/local/apache2/bin/apachectl start



프로세스 확인


[root@cent7_64 php-5.6.11]# ps -ef | grep httpd

root      1508     1  0 17:24 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1635  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1636  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1642  1508  0 17:34 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

daemon    1719  1508  0 17:35 ?        00:00:00 /usr/local/apache2/bin/httpd -k start

root      1838  1810  0 18:30 pts/0    00:00:00 grep --color=auto httpd




브라우저 확인





프로세스는 정상인데 브라우저로 접속이 안된다면 방화벽을 아래와 같이 확인한다.


[root@cent7_64 zones]# systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon

   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)

   Active: active (running) since 화 2008-01-01 14:38:16 KST; 14min ago

 Main PID: 601 (firewalld)

   CGroup: /system.slice/firewalld.service

           └─601 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid


 1월 01 14:38:15 cent7_64.localdomain systemd[1]: Starting firewalld - dynamic firewall.....

 1월 01 14:38:16 cent7_64.localdomain systemd[1]: Started firewalld - dynamic firewall ...n.

Hint: Some lines were ellipsized, use -l to show in full.

[root@cent7_64 zones]# 


방화벽이 돌고 있는 중이다.


방화벽에 80, 3306 포트를 추가하자.


#vi /etc/firewalld/zones/public.xml


<?xml version="1.0" encoding="utf-8"?>

<zone>

  <short>Public</short>

  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>

  <service name="dhcpv6-client"/>

  <service name="ssh"/>

  <port protocol="tcp" port="3306"/>

  <port protocol="tcp" port="80"/>

</zone>



아래와 같이 방화벽을 적용한다.

[root@cent7_64 zones]# firewall-cmd --reload

success

[root@cent7_64 zones]# 





phpinfo 확인





phpinfo.php 화면이 공백일 경우 디폴트 php.ini 에서 short tag 가 Off로 되어 있기 때문이므로 php.ini를 수정한다.


#vi /etc/php.ini


short_open_tag = Off 로 되어 있는 것을 찾아 On으로 변경한다.


short_open_tag = On



아파치를 재시작한다.


phpinfo 에서 date 부분에 아래와 같이 경고가 보인다. 타임존을 필수적으로 세팅해야한다는 말이다.






다시 php.ini 파일을 수정한다.


아래와 같이 수정한다.


[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = "Asia/Seoul"



저장하고 아파치를 재시작한다.


date부분이 아래와 같이 바꼈다.





디폴트 타임존이 Asia/Seoul 로 변경되었다.


참고로 사용할 수 있는 타임존 리스트는 아래 경로에서 확인 가능하다.

http://us.php.net/manual/en/timezones.php






끝.






블로그 이미지

엘로드넷

,

Apache Error: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded?? - See more at: http://linuxadmin.melberi.com/2015/04/failed-to-lookup-provider-shm-for.html#sthash.mtx10Zl1.dpuf



#vi /usr/local/apache2/conf/httpd.conf


#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so


주석처리되어 있는 것을 풀어준다.


아파치를 재시직한다.


















'Linux' 카테고리의 다른 글

리눅스 NFS설정  (0) 2015.09.25
CentOS 7 apm 소스설치, 방화벽 적용  (4) 2015.07.23
Linux ssh root 접속제한  (0) 2015.07.15
tar, bz2, gz  (0) 2015.07.13
vsftpd 파일 업로드시 553 could not create file 에러..  (0) 2015.07.13
블로그 이미지

엘로드넷

,

Linux ssh root 접속제한

Linux 2015. 7. 15. 12:51

#vi /etc/ssh/sshd_config

 


#Permit Root Login Yes => 주석을 풀고 Yes => no 로 변경


 


#/etc/init.d/sshd restart

블로그 이미지

엘로드넷

,

tar, bz2, gz

Linux 2015. 7. 13. 17:32

1. bz2 풀기


#tar xvfj filename.tar.bz2


2. bz2로 압축하기


#tar cfj filename.tar.bz2



 


3. gz 풀기


#tar xvfz filename.tar.gz


4. gz로 압축하기


#tar cfz filename.tar.gz folder




5. tar 풀기


#tar xf filename.tar


 


6. tar묶기


#tar cf filename.tar folder

블로그 이미지

엘로드넷

,

553 Could not create file.


 


vsftpd 파일업로드시 에러


 


1. 방화벽체크 - 방화벽 비활성화


2. SELinux 비활성화


 


#setsebool -P ftpd_disable_trans 1


#/etc/init.d/vsftpd restart


 


 


1. getsebool -a 


: SELinux 의 boolean 값 상태보기


 


2. SELinux비활성화 : 


vi /etc/selinux/config 


SELINUX=disabled


수정 후 재부팅


 


또는


/boot/grub/menu.lst  커널부트옵션엣 selinux=0 추가


 


3. setenforcing 0 재부팅 안 함..

'Linux' 카테고리의 다른 글

Linux ssh root 접속제한  (0) 2015.07.15
tar, bz2, gz  (0) 2015.07.13
Linux NFS 설정  (0) 2015.07.13
iptables 설정  (0) 2015.07.08
Linux 아파치 재시작 에러 : Address already in use  (0) 2015.07.08
블로그 이미지

엘로드넷

,

Linux NFS 설정

Linux 2015. 7. 13. 17:28

123서버에서 124서버로 공유해주는 경우

1. 공유해 주는 서버(123.123.123.123)
#vi /etc/exports

/home/session/ 123.123.123.124(rw,sync,no_root_squash)    #공유할폴더. 접근허용서버(권한)


#service nfs start


에러날 경우 rpcbind 실행중인지 확인


#rpcinfo -p

rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

nfs-utils 설치


#yum install nfs-utils




portmap 시작

#chkconfig portmap on

#service portmap start


portmap 이 없다면

#yum -y install portmap





rpcinfo를 다시 확인해 보자


#rpcinfo -p

program vers proto port

100000 2 tcp 111 portmapper

100000 2 udp 111 portmapper


정상가동중이므로 nfs를 시작한다.



#service nfs start

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS daemon: [ OK ]

Starting NFS mountd: [ OK ]


시작서비스에 등록

#chkconfig nfs on












2. 받는 서버에서 마운트(123.123.123.124)

#mkdir /home/session123 (폴더가 안 만들어져 있는 경우)
#mount -t nfs 123.123.123.123:/home/session/ /home/session123

블로그 이미지

엘로드넷

,

iptables 설정

Linux 2015. 7. 8. 10:33

1. iptables.sh  를 만들어 실행하기로 한다.


2. iptables.sh 내용


#iptables 경로
iptables=/sbin/iptables

#SERVER IP 확인
HOST_IP="`/sbin/ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"
NETMASK="`/sbin/ifconfig eth0 | grep 'inet addr' | awk '{print $4}' | cut -d : -f 2`"

#기존 설정 모두 삭제
$iptables -F

#INPUT Rules 설정
$iptables -Z INPUT
$iptables -P INPUT ACCEPT

#local IP ACCEPT
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A INPUT -s $HOST_IP -j ACCEPT

#invalid packets DROP 
#abnormal status packet
$iptables -A INPUT -m state --state INVALID -j DROP

#DNS/udp service ACCEPT
$iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT

#TCP service
$iptables -A INPUT -p tcp --dport 20 -m state --state NEW,ESTABLISHED -j ACCEPT
$iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
$iptables -A INPUT -i eth0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

#VPN

$iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT

$iptables -A INPUT -i eth0 -p gre -j ACCEPT

$iptables -t nat -A POSTROUTING -j SNAT --to-source 123.123.123.123    #VPN서버 IP

$iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

$iptalbes -A FORWARD -i eth0 -o ppp0 -j ACCEPT


#ftp

$iptables -A INPUT -s 123.123.0.0/16 -p tcp --dport 21 -j ACCEPT

#ssh
$iptables -A INPUT -s 123.123.0.0/16 -p tcp --dport 22 -j ACCEPT


#telnet : not use
#$iptables -A INPUT -s 123.0.0.0/8 -p tcp --dport 23 -j ACCEPT


# 25(SMTP), 80(WEB) ACCEPT 
$iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
$iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

# AUTH for clients
$iptables -A INPUT -p tcp --dport 113 -m state --state NEW,ESTABLISHED -j ACCEPT

# pop3s 995 : not use
#$iptables -A INPUT -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT

# mysql
# local, remote DB server IP
$iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
$iptables -A INPUT -s 123.123.255.0/24 -p tcp --dport 3306 -j ACCEPT


# ip bandwidth
#$iptables -A INPUT -s 123.0.0.0/8 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

# UDP service : DNS
$iptables -A INPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

# ICMP service
# ping service
$iptables -A INPUT -s 123.123.0.0/16 -p icmp --icmp-type echo-request -j ACCEPT


# SYN packet deny
$iptables -A INPUT -p tcp --syn -j REJECT

# Drop All packet
# from 0 to 1023 port DROP 
$iptables -A INPUT -p tcp --dport 0:1023 -j DROP
$iptables -A INPUT -p udp --dport 0:1023 -j DROP
$iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT

echo -e "\nDone.\n"

exit;




3. 실행가능한 퍼미션으로 바꾼다.

#chmod 700 iptables.sh


4. 실행한다.

#./iptables.sh


5. 적용된 iptables 를 확인해 본다.

#iptables -L



끝.

블로그 이미지

엘로드넷

,

아파치 재시작시 아래와 같은 에러문구가 나올 때



(98)Address alreday in use: make_sock: could not bind to address[::]:80




1. 80 포트 사용중인 프로세스 확인


#netstat -nlp | grep :80






2. 프로세스 죽이기


#kill -9 724



3. 아파치 재시작


'Linux' 카테고리의 다른 글

Linux NFS 설정  (0) 2015.07.13
iptables 설정  (0) 2015.07.08
리눅스 ESTABLISHED 포트확인 및 죽이기  (0) 2015.07.06
CentOS 7 VPN 설정  (0) 2015.07.03
CentOS 7 ifconfig  (0) 2015.07.02
블로그 이미지

엘로드넷

,