directadmin安装成功后2222访问不了(All)

这是官方的处理方法:

If you are unable to access your server via http://1.2.3.4:2222, then 1 of 3 things is likely happening:

1. DirectAdmin might not be running or(第一种可能,就是DA没有正常安装)

2. You have a firewall blocking port 2222.(第二就是防火)

Number 2 is easy to check by simply running (only on redhat systems):
/sbin/service iptables stop
/sbin/chkconfig iptables off

Then test directadmin again.

If that didn't fix it, then you'd need to check your /var/log/directadmin/error.log to check for any errors as to why it isn't starting:
tail /var/log/directadmin/error.log (如果 试了上在两个方法还是不行,可查看错误列表)

Common problems are:
3. Incorrect ethernet_dev set in the /usr/local/directadmin/conf/directadmin.conf file. guide

4. Invalid license, either due to wrong uid/lid, IP, or date.  Try: Updating your DirectAdmin License manually

5. Your IP is blacklisted in /usr/local/directadmin/data/admin/ip_blacklist.  This is controlled by the "brute force login detection" in Admin Settings.  Use a setting no lower than 10, since even loading the login page counts as 1 failed attempt.

6. Binaries for a different operating system. Related

You can always try running DirectAdmin by hand (if it's not already running) to see what the problem is.
cd /usr/local/directadmin
./directadmin b200

to start it in the terminal with debug level 200.  Use Ctrl-C to stop.

7. If DirectAdmin is running, is bound to port 2222, but doesn't respond on "127.0.0.1", but does respond on "::1", then it's an IPv6 issue.  This guide would be related.

Directadmin如何更换授权IP

本次错误为:
The ip of this machine () does not match the ip in the license file
解决方法:

If you get the message:
The ip of this machine () does not match the ip in the license file

when trying to start DirectAdmin (or (1.2.3.4) instead of ()) then the ethernet_dev setting in your directadmin.conf files isn't setup correctly.

Type:
/sbin/ifconfig

to see which device name your IP is on.  Common devices names/formats are: eth0, eth0:1, eth1, venet0:0, etc..  Note that you can specify the sub-device name to get different IPs.

Once you know the device name, edit /usr/local/directadmin/conf/directadmin.conf
Change (or add) the setting:
ethernet_dev=eth0

再用下面的命令重启directadmin

# /etc/init.d/directadmin restart

C语言基本数据类型(格式输出/格式输入)

! 一元运算符
&& 逻辑与 左右同时成立
|| 逻辑或
非0值:真
0值:假

J=-i++; int i=2; 则J=-2 ;i=3; 从右到左;

真为1,假为0;

a=0; b=1; c=2; d=a++||b++||–c;

结果:a=1,b=2,c=2,d=1

a+=b 相当于a=a+b
a*=b+c 相当于a=a*(a+b)
a=2; a+=a*=a 8

int max, a=5; b=3; max=a>b?a:b max=5

逗号表达式的值取最后一个逗号

int a=2, b=5; float x=4.4
(float)b/a 2.5
(float)(b/a) 2.0

。。。。。。。。。。。。。。。。。。。。。。。

#include <stdio.h>

void main()

{

int a=11, b=21, c=31;
printf(“a=%d\tb=%d\tc=%d\n”,a,b,c);
{
int b=22;
float c=3.3;
printf(“a=%d\t=b%d\tc=%f\n”,a,b,c);
a=b;

}
结果

a=11 b=21 c=31
a=11 =b22 c=3.300000
a=22 b=21 c=31

。。。。。。。。。。。。。。。。。。。。。。

格式字符:

%[flags][width][.prcc][type]
d 十进制形式输出整数
o八进制无符号输出整数
x 十六进制无符号输出整数
c输出一个字符
s输出一个字符串
f 以小数形式输出单,双精度,默认输出6位小数
e 以指数形式输出单,双精度数,小数位6位
g
% 输出百分号(%)

默认右对齐,-左对齐;
逗号表达式的值为最后一个逗号表达式的值;

。。。。。。。。。。。。。。。。。。。。。。

单分支选择if语句 if (表达式) 语句
双分支选择if语句 if(表达式) 语句1 else 语句2
多分支

服务器上安装virtualbox虚拟机运行centos

弄了两天,今天终于搞定了远程SSH到服务器上的centos,搞了几种网络方式都不行;

我的情况是,我的服务器有几个IP,默认情况下用virtualbox的nat方式上网时,虚拟机是通过主机来上网的,所以不能分配独立的IP给虚拟机

删除nat,使用Bridged Adapter模式 ,进入到centos,默认情况下不能上网,使用图形界面设置eth0网卡,使用dhserver,手动设置独立IP及网关,DNS服务器;为虚拟机分配一个独立IP,并且可以正常上网,正常访问;(注,此种植情况下,分给虚拟机的IP不要在主机上配置。如果两边都配置,会导致冲突)

外部网络ping虚拟机IP时,可以通,但SSH就是连接不上,接着把防火墙关了,在centos下使用:/etc/init.d/iptables stop

检查ssh是否正常运行:service sshd status 如没运行,则:service sshd start

…………………………………………
注:
ifconfig时,可看到网卡:eth0
但在:/etc/sysconfig/network-scripts/ 下即找不到:ifcfg-eth0
此时是因为eth0还没配置,就算是使用setup也无法配置;

配置网卡的IP地址
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
之后就可以找到:ifcfg-eth0

将网卡禁用
ifconfig eth0 down

将网卡启用
ifconfig eth0 up

 

。。。。。。。。。。。。。。。。。。。。。。。。。。

ifcfg-eth0内容:

DEVICE=”eth0″
BOOTPROTO=none
NM_CONTROLLED=”yes”
ONBOOT=”no”
TYPE=”Ethernet”
UUID=”ef9ddd79-5d93-4b1f-b9da-c22d72dbb786″
HWADDR=08:00:27:05:62:C7
IPADDR=ip地址
PREFIX=29
GATEWAY=网关
DNS1=208.64.24.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=”System eth0″

11.29 Shell基础实验记录

echo 显示字符,显示信息
read 用户输入内容
$引用变量的内容
env查看环境变量

修改PATH文件:/etc/profile
增加当前目录:
PATH=$PATH:.
export PATH

………………………………………………….

呼叫中心
vim CallCenter.sh

echo “Please enter total unmber”
read totalunmber
echo “Enter resolve number”
read resnumber
echo $((totalnumber-resunmber))
格式:$(())
得出结果

echo “$totalnumber-$resnumber”

………………………………………………….

分数评级:
echo “Please Enter Test Score:”
read score

if  [ $score -lt 80 ]
then
echo “Bad”

elif  [ $score -ge 80 -a $score -lt 90 ]
then
echo “Good”
else
echo “Excellence!!”
fi

“if”和“[”之间需要空格,如果你不空格
[]与里面的表达式与需要空格分开,否则也会报错。

算术比较运算符

num1-eq num2 等于 [ 3 -eq $mynum ]

num1-ne num2 不等于 [ 3 -ne $mynum ]

num1-lt num2 小于 [ 3 -lt $mynum ]

num1-le num2 小于或等于 [ 3 -le $mynum ]

num1-gt num2 大于 [ 3 -gt $mynum ]

num1-ge num2 大于或等于 [ 3 -ge $mynum ]

 

文件比较运算符

-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]

-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]

-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]

-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]

-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]

-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]

-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]

filename1-nt filename2 如果 filename1比 filename2新,则为真 [ /tmp/install/etc/services -nt /etc/services ]

filename1-ot filename2 如果 filename1比 filename2旧,则为真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]

字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)

-z string 如果 string长度为零,则为真 [ -z “$myvar” ]

-n string 如果 string长度非零,则为真 [ -n “$myvar” ]

string1= string2 如果 string1与 string2相同,则为真 [ “$myvar” = “one two three” ]

string1!= string2 如果 string1与 string2不同,则为真 [ “$myvar” != “one two three” ]

………………………………………………….

Case 用法注意要求:
case $引用用户输入的内容 case f in

1);;
2);; 结束用esac
echo “Service:”
echo “l) ls”
echo “2) ls -l”
echo “3) Exit”
echo “Please choice(1-3)”
read choice
case $choice in
1) ls;;
2) ls -l;;
3) Exit;;
*) echo “Wrong input”;;

esac
………………………………………………….
echo “”
read df
case $df in
1);;
2);;
esac

………………………………………………….

循环:

enum=2000
while [ $enum -le 2003 ] 循环范围
do
echo “pleae enter usrname=$enum”
read username
echo “enter email:”
read email
echo “username is $username Email is $email”>> employee.dat
((enum=$enum+1))
done

如果while后的命令执行成功,或条件真,则执行do和done之间的语句,执行完成后,再次判断while后的命令和条件;如果while后的命令执行失败,或条件为假,循环结束

while [ condition ]
do
command1
command2
command3
done

Linux文件权限学习

u: user
g:group
o: other
a: all
r:read
w:write
x:execute

+: add permission
-: reduce permission
0

rwx 4 2 1 读写执行

chmod 777 dircetory

ps:  process

kill PID_number

history 3历史上刚用的三个命令

which yum   yum命令目录

linux基础管理日志:Linux远程管理 – SSH、VNC

ssh root@192.168.1.1
ssh root@192.168.1.1 who

命令scp用以在两台计算机间进行快速的加密数据传输

scp 源文件夹 目标地址
scp xushao root@192.168.1.1:/home/

-r 用以传输文件夹
-p 传输保留文件夹权限及时间

rsync 两台计算机之间通过ssh协议同步数据

vnc linux图形管理界面

yum install -y tigervnc-server 安装vnc服务端

/etc/sysconfig/vncservers

vim /etc/sysconfig/vncservers

VNCSERVERS=”1:xushao” 配置vnc服务

创建vnc密码
vncpasswd

启用vnc服务 service vncserver start

Centos 6 vnc客户端为tigervcn

yum install -y tigervnc

日志:IPTables防火墙基础及iptables配置管理

Linux中用来实现网络数据控制功能的内核模块netfilter

netfilter可以对网络数据进行允许、丢弃、修改操作

netfilter支持以下数据分类方式:


源、目标IP地址

使用接口

使用协议(TCP、UDP、ICMP等)

端口号

TCP连接状态

netfilter基本概念:

chain(链,也叫过滤点):INPUT、FORWARD、OUTPUT、PREROUTING路由前、POSTROUTING路由后

表(功能):filter、nat、mangle高级参数修改

用户通过iptables命令来管理netfilter模块

iptables通过规则对数据进行访问控制

一个规则占用一行

规则按顺序排列

每个数据包按规则顺序依依匹配,如果有匹配的,则立即执行该规则指定的动作(允许、丢弃)

常用功能:
作为服务器作用:
过滤到本机的流量 — input链 ,filter表
过滤本机发出的流量 output,filter

作为路由器使用:

过滤转发的流量 forward链,filter表
对转发数据的源,目标IP进行修改(nat功能)prerouting,nat表

iptables -t filter -A input -s 192.168.1.1 -j DROP

匹配动作:允许、丢弃、修改

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

列出现有iptables规则:

iptables -L

删除所有iptables规则:

iptables -F

插入一个iptables规则:

iptables -I INPUT 3 -p tcp –dport 80 -s 192.168.1.0/24 -j DROP

删除一个iptables规则:

iptables -D INPUT 3

iptables -D INPUT -p tcp –dport 80 -s 192.168.1.0/24 -j DROP

配置一个NAT伪装:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables规则保存在配置文件:
/etc/sysconfig/iptables

以下命令可以将当前iptables配置保存到配置文件中:
service iptables save

iptables -I INPUT 2 -p tcp –dport 22 -j ACCEPT

控制到本机的网络流量:

iptables -A INPUT -s 192.168.1.1 -j DROP 过滤来自IP的流量
iptables -A INPUT -p tcp –dport80 -j DROP 过滤基于端口80的网页流量
iptables -A INPUT -s 192.168.1.0/24 -p tcp –dport 22 -j DROP

linux学习日志:DNS域名服务

域名是用来标识一个IP地址,因为IP地址难于记忆,所以一般使用域名代替

www.toogoogoo.com
主机名.域名.类型
域名大小写不敏感

一个域名代表一个IP地址

DNS(Domain Name System)服务负责域名与IP地址之间的转换

Linux下域名解析可以通过以下几种方式:

文件(/etc/hosts、/etc/networks)

DNS(domain name system)

NIS
host可用于查询dns

dig也可查,输出详细的信息
dig www.toogoogoo.com

可以通过配置文件/etc/nsswitch.conf控制查询顺序

DNS是一个树状结构,每一级由一个或多个服务器负责提供信息
根服务器-顶级服务器-域名服务器
dig +trace www.toogoogoo.com

DNS查询分为两种类型:

iterative 迭代查询

recursive 递归查询

实际使用中,一般使用迭代+递归方式进行查询

在DNS服务器上,信息以资源记录(resource record)格式保存

一条资源记录(resource record)保存一个信息,常见的资源记录类型有:

A IPv4地址

AAAA IPv6地址

MX 邮件记录

CNAME 别名

PTR 指针(用于逆向解析)

SRV 服务资源

DNS服务器一般分为三种类型:

域主DNS服务器(master)

域从DNS服务器(slave)

缓存DNS服务器(Caching)

DNS服务器中,一个域的信息保存在该域的zone配置文件中

dig -t mx gmail.com
dig -x mx gmail.com
dig -t soa gmail.com

…………………………………………..

BIND(Berkeley Internet Named Deamon)是现今使用最为广泛的DNS服务程序
yun install -y bind bind-chroot bind-utills 安装bing

BIND默认使用TCP、UDP协议,使用端口 53(DNS)、953(rndc)

BIND配置文件保存在:

/etc/named.conf 主配置文件

/var/named/ 域zone文件位置

如果使用了chroot,则配置文件位置为:

/var/named/chroot/etc/named.conf 主配置文件

/var/named/chroot/var/named zone文件

bind配置文件示例保存在:

/usr/share/doc/bind-9.8.2/sample/

以下命令用以检查bind配置文件及zone文件语法:

named-checkconf /var/named/chroot/etc/named.conf

named-checkzone linuxcast.net /var/named/chroot/var/named/linuxcast.net.zone

linux高级学习记录:linux系统日记分析

日志是系统、程序用来记录其运行状态、信息及错误的文件

Linux系统中默认的日志服务是syslog服务

CentOS 6/RHEL6 默认使用的日志服务是rsyslog

service rsyslog start | stop |restart | status

Usage: /etc/init.d/rsyslog {start|stop|restart|reload|force-reload|condrestart}

Linux一般保存以下三种类型日志:

内核信息

服务信息

应用程序信息

rsyslog服务配置文件为:

/etc/rsyslog.conf

Linux系统中日志保存在:

/var/log

tail -f log 可实时监控更新日志信息

message 保存一些正常的信息
secure 登陆信息
boot.log
gdm 内核信息
kern 内核信息
user 用户级信息
mail
daemon 系统服务消息
auth
syslog
lpr 打印系统消息
authpriv 权限系统消息
cron 定时信息
news
uucp
ftp

日志的两个基本概念:

Facility 定义日志信息来源

Priority 定义日志信息类别
Emergency 系统已经不可用
Alert 必须立即处理
Critical器严重错误
Error
Warning
Notice 正常信息
Informational 正常信息
Debug

mail.* -/var/log/maillog 提高写日志的效率
*.info;mail.none;authpriv.none;corn.none /var/log/maillog

将日志信息转发到一个统一的日志服务器,
*.* @@ip (使用tcp协议)

网络基础-Linux网络基础配置

IP编址是现今使用最为广泛的网路编址协议,拥有两个主流版本:IPv4、IPv6,IPv4是部署最多的版本,未来会逐渐切换到IPv6.

IPv4编制拥有32位长,一般使用点分十进制表示,如:192.168.1.1

IPv4地址分为两个部分:网络部分、主机部分,使用子网掩码确定网络部分的位数

子网掩码与IP地址同等长度,与IP地址每一位一一对应,IP地址中对应子网掩码为1的位为网络部分

在不同网络之间进行通讯需要一个具有路由功能的设备进行数据转发,这个设备叫做路由器或网关

域名是用代表IP地址,因为IP地址难以记忆使用,所以一般使用域名,一个域名对应一个IP地址

DNS服务提供IP地址到域名的转换

……………………………………………………………

Linux中网卡标识为eth,第一块网卡叫做eth0,第二块叫做eth1,以此类推

使用lspci或lsusb命令可查看网卡物理信息

命令ifconfig用以查看网卡信息

命令ifup、ifdown用以启用、关闭一个网卡接口

ifup eth0 启用一个网卡

ifdown eth0

我们一般使用setup命令设置网卡信息

网卡的配置信息保存在下面目录中:

/etc/sysconfig/network-scripts/

配置文件为ifcfg-网卡名称,如:ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0

DNS服务器IP保存在:

/etc/resolv.conf

主机名配置保存在:

/etc/sysconfig/network

常用网络命令:

ping

host

traceroute

mtr

网络故障排查遵循从上至下、从里至外的原则