linux_server

目录
1. 常用网络命令................................................................................................................................1
1.1. Ipconfig................................................................................................................................. 1
1.2. route -n//单纯查看路由状态............................................................................................. 1
1.3. Ip........................................................................................................................................... 1
1.4. Ping....................................................................................................................................... 2
1.5. Traceroute............................................................................................................................ 3
1.6. Netstat 查看本机的网络链接和后门.................................................................................4
1.7. Host 查看主机名,nslookup.............................................................................................. 4
1.8. Telnet.................................................................................................................................... 5
1.9. ftp,lftp................................................................................................................................5
1.10. Links 文字接口...................................................................................................................5
1.11. Wget 下载器...................................................................................................................... 6
1.12. 数据包的捕获 tcpdump................................................................................................... 6
1.13. Nc,netcat......................................................................................................................... 6
1.14. Iptables 防火墙进出规则..................................................................................................7
2. 局域网常见的服务器搭建..........................................................................................................11
2.1. ssh 文字加密接口..............................................................................................................11
2.2. sftp 文件传输.....................................................................................................................11
2.3. Windows 想要链接 ssh putty 工具...................................................................................12
2.4. 图形远程...........................................................................................................................12
2.5. nfs 服务器.......................................................................................................................... 13
2.6. samba................................................................................................................................. 14
2.7. WWW 服务
mysql+apache+php.................................................................................... 15
2.8. ftp....................................................................................................................................... 16
11. 常用网络命令
1.1. Ipconfig
1.2. route -n//单纯查看路由状态
Flag:U 该路由是启动的 H 目标是一台主机不是网络 R 恢复路由信息的标志
G 需要通过外部主机来传递的数据包
D 动态路由
!此路由不会被接受
M 路由已经被修改了
route add/del -net 192.168.100.0 netmask 255.255.255.0 dev ens33
Route add default gw 192.168.0.250
1.3. Ip
Ip [-s] link show 单纯的查看设备的信息,所有接口的信息
# ip link set ens33 down
# ip link set ens33 up
1ip link set ens33 mtu 3000
同样的 name
Ip address show
Ip address [add|del] [ip 参数][dev 设备名][相关参数]
IP route show
Ip route [add|del] [ip 或网络号] [via gateway] [dev name]
Iwconfig/iwlist 无线网络
Dhclient dev
1.4. Ping
-s 大小
-c num 检测的次数
-t num ttl 的值
-W num 等待秒数
2#bash to ping 1-254
for setip in $( seq 1 254 )
do
site="172.16.72.${setip}"
ping -c 1 -w 1ms ${site} &> /dev/null
if [ "$?" == "0" ];then
echo "$site is up"
else
echo "$site is down"
fi
done
ping -c 1 -s 1000 -M do www.baidu.com 检测 mtu 大于 1000 的数据
1.5. Traceroute
-p 端口号
-w num 等待时间,默认 5s
-U udp 检测
-T tcp 检测
-I icmp 检测
3默认的是 udp 包检测
1.6. Netstat 查看本机的网络链接和后门
-r 列出路由表
-a 列出所有状态
-t 列出 tcp 的
-u 列出 udp 的
-p 列出 pid 和文件名
-c 每次更新时间
-n 不使用主机名和服务器名称
1.7. Host 查看主机名,nslookup
`
41.8. Telnet
1.9. ftp,lftp
-help
-dir
-cd
-get
-mget 多个文件
-put
-delete file
-lcd 到 home
-bye
-mkdir
ftp 125.217.41.171 21
Connected to 125.217.41.171.
220 Serv-U FTP Server v6.3 for WinSock ready...
Name (125.217.41.171:zz): anonymous
331 User name okay, please send complete E-mail address as password.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
即时通信软件 pidgin
1.10. Links 文字接口
Q 离开
H 历史
G+url 进入网页
D 下载
51.11. Wget 下载器
1.12. 数据包的捕获 tcpdump
-A 数据包内容以 Ascall 显示
-e 使用数据链路层来显示
-q 列出较为简单的数据包信息
-X 列出十六进制和 ascall 包的内容
-i lo 接听 lo 这个网络接口
-w file 保存监听数据
-r file 读取数据包
-c 监听的数据包数
-nn 用 ip 或者端口,不是服务器名称
tcpdump -i ens33 -nn port 80//监听设备 ens33 上 80 端口
Tcodumo -i ens33 -nn ‘port 80 and src host 125.217.41.99’ -X
Wireshark 图形软件 to 捕获包
Nmap ip //端口扫描
1.13. Nc,netcat
-l [IP|host][port]监听端口
-u 使用 udp
-g<网关> 设置路由器跃程通信网关,最丢哦可设置 8 个。
-G<指向器数目> 设置来源路由指向器,其数值为 4 的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用 IP 地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以 16 进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的 IP 地址。
-u 使用 UDP 传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用 0 输入/输出模式,只在扫描通信端口时使用。
Nc
-l 125.217.37.21 20000
//电脑 A
6Telnet 125.217.37.21 20000 //电脑 B
或者 nc -l 125.217.37.21 2000
//电脑 B
此时可以聊天了
nc -vuz 10.0.1.161 1-1000 扫描端口
Nc -l 125.217.37.21 20000 >res //电脑 A
Telnet 125.217.37.21 20000<sen.txt //电脑 B
或者 nc -l 125.217.37.21 2000
//电脑 B
文件传输
1.14. Iptables 防火墙进出规则
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t table :3 个 filter nat mangle
COMMAND:定义如何对规则进行管理
chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可
以省略的
CRETIRIA:指定匹配标准
-j ACTION :指定如何进行处理
链接管理:
iptables -P INPUT (DROP|ACCEPT) 默认是关的/默认是开的
iptables -t nat -F 清空 nat 表的所有链
-N:NEW 支持用户新建一个链
-X: 用于删除用户自定义的空链
-E:用来 Rename chain 主要是用来给用户自定义的链重命名
规则管理:
-A:追加,在当前链的最后新增一个规则
-I num : 插入,把当前规则插入为第几条。
-I 3 :插入为第三条
-R num:Replays 替换/修改第几条规则
格式:iptables -R 3 ............
-D num:删除,明确指定删除第几条规则
查看管理命令 “-L”:
-n:以数字的方式显示 ip,它会将 ip 直接显示出来,如果不加-n,则会将 ip 反向解析
成主机名。
-v:显示详细信息
-vv
-vvv :越多越详细
-x:在计数器上显示精确值,不做单位换算
7--line-numbers : 显示规则的行号
-t nat:显示所有的关卡的信息
匹配标准:
-s:指定作为源地址匹配,这里不能指定主机名称,必须是 IP
IP | IP/MASK | 0.0.0.0/0.0.0.0
而且地址可以取反,加一个“!”表示除了哪个 IP 之外
-d:表示匹配目标地址
-p:用于匹配协议的(这里的协议通常有 3 种,TCP/UDP/ICMP)
-i eth0:从这块网卡流入的数据
流入一般用在 INPUT 和 PREROUTING 上
-o eth0:从这块网卡流出的数据
流出一般在 OUTPUT 和 POSTROUTING 上
-p tcp :TCP 协议的扩展。一般有三种扩展
--dport XX-XX:指定目标端口,不能指定多个非连续端口,只能指定单个端口,比如
--dport 21 或者 --dport 21-23 (此时表示 21,22,23)
--sport:指定源端口
--tcp-fiags:TCP 的标志位(SYN,ACK,FIN,PSH,RST,URG)
对于它,一般要跟两个参数:
1.检查的标志位
2.必须为 1 的标志位
--tcpflags syn,ack,fin,rst syn
=
--syn
表示检查这 4 个位,这 4 个位中 syn 必须为 1,其他的必须为 0。所以这个意思就
是用于检测三次握手的第一次包的。对于这种专门匹配第一包的 SYN 为 1 的包,还有一种
简写方式,叫做--syn
-p udp:UDP 协议的扩展
--dport
--sport
-p icmp:icmp 数据报文的扩展
--icmp-type:
echo-request(请求回显),一般用 8 来表示
所以 --icmp-type 8 匹配请求回显数据包
echo-reply (响应的数据包)一般用 0 来表示
Action:
常用的 ACTION:
DROP:悄悄丢弃
一般我们多用 DROP 来隐藏我们的身份,以及隐藏我们的链表
REJECT:明示拒绝
ACCEPT:接受
custom_chain:转向一个自定义的链
DNAT
SNAT
MASQUERADE:源地址伪装
REDIRECT:重定向:主要用于实现端口重定向
8MARK:打防火墙标记的
RETURN:返回
在自定义链执行完毕后使用返回,来返回原规则链。
例子:
定义进来的: iptables -t filter -A INPUT -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -j
ACCEPT
定义出去的: iptables -t filter -A OUTPUT -s 172.16.100.1 -d 172.16.0.0/16 -p tcp --dport
22 -j ACCEPT
将默认策略改成 DROP:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
对于练习题的扩展:
进来的拒绝出去的允许,进来的只允许 ESTABLISHED 进来,出去只允许 ESTABLISHED 出
去。默认规则都使用拒绝
iptables -L -n --line-number :查看之前的规则位于第几行
改写 INPUT
iptables -R INPUT 2 -s 172.16.0.0/16 -d 172.16.100.1 -p tcp --dport 22 -m state --state
NEW,ESTABLISHED -j ACCEPT
iptables -R OUTPUT 1 -m state --state ESTABLISHED -j ACCEPT
此时如果想再放行一个 80 端口如何放行呢?
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j
ACCEPT
iptables -R INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j ACCEPT
比如:不允许 172.16.0.0/24 的进行访问。
iptables -t filter -A INPUT -s 172.16.0.0/16 -p udp --dport 53 -j DROP
当然你如果想拒绝的更彻底:
iptables -t filter -R INPUT 1 -s 172.16.0.0/16 -p udp --dport 53 -j REJEC
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数
1. -P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
2. -F 清空规则链
3. -L 查看规则链
4. -A 在规则链的末尾加入新规则
5. -I num 在规则链的头部加入新规则
6. -D num 删除某一条规则
7. -s 匹配来源地址 IP/MASK,加叹号"!"表示除这个 IP 外。
98. -d 匹配目标地址
9. -i 网卡名称 匹配从这块网卡流入的数据
10. -o 网卡名称 匹配从这块网卡流出的数据
11. -p 匹配协议,如 tcp,udp,icmp
12. --dport num 匹配目标端口号
13. --sport num 匹配来源端口号
iptables -A INPUT -i eth0 -s x.x.x.x -j DROP//阻止包来自 xxxx 的包
iptables -A INPUT -i eth0 -p tcp -s x.x.x.x -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state
NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED
-j ACCEPT
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state
--state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED
-j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED
-j ACCEPT
102. 局域网常见的服务器搭建
2.1. ssh 文字加密接口
Sudo apt install openssh-server
/etc/init.d/sshd restart //电脑 A 打开了服务
Ssh name@ip
//电脑 B 登录,exit 退出
2.2. sftp 文件传输
-ls
-lls
-pwd
-lpwd
-cd
-lcd
-mkdir -lmkdir
-rename
-rmdir
-rm
-put
-get
-exit
Sftp [email protected]
//login
112.3. Windows 想要链接 ssh putty 工具
2.4. 图形远程
界面切换
Sudo aot install gdm3
Vim /etc/gdm3/custom.conf//配置文件
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
[daemon]
# Uncoment the line below to force the login screen to use Xorg
WaylandEnable=false
# Enabling automatic login
# AutomaticLoginEnable = true
# AutomaticLogin = user1
# Enabling timed login
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
[security]
12[xdmcp]
[greeter]
# Only include selected logins in the greeter
# IncludeAll = false
# Include = user1,user2
[chooser]
[debug]
# Uncomment the line below to turn on debugging
# More verbose logs
# Additionally lets the X server dump core if it crashes
#Enable=true
加上
Enable=true
AllowRemoteRoot=true
DisallowTcp=true
sudo dpkg-reconfigure gdm3 or lightdm
sudo ufw allow 177/udp
Dhcp 服务器
2.5. nfs 服务器
sudo apt install nfs-kernel-server
setfacl -m g:zz:rwx /home/zz/test
Vim /etc/exports 配置服务器
root@zz-pc:/home/zz/test# vim /etc/exports
/home/zz/test
172.16.0.0/16(rw)
*(ro)
root@zz-pc:/home/zz/test# /etc/init.d/rpcbind start
root@zz-pc:/home/zz/test# sudo /etc/init.d/nfs-kernel-server restart
Showmount -a
//查看链接状态
Exportfs -a 全部挂或者卸
13-r 重新挂
-u 卸载一个
-v 在屏幕显示
如重新挂 exportfs -arv
全部卸载 exportfs -auv
客户端:
/etc/init.d/rpcbind restart//启动 rpc
showmount -e 172.16.72.195//查看服务器资源
mount -t nfs 172.16.72.195:/home/zz/test /home/zz/test//挂载在本地了
Umount /home/zz/test //卸载了
2.6. samba
sudo apt-get install samba samba-common
sudo smbpasswd -a
test (输入访问 Samba 的密码)
配置 smb.conf
[myshare ]
comment=This is samba dir
path=/home/myshare
14create mask=0755
directory mask=0755
writeable=yes
valid users=test
browseable=yes
sudo /etc/init.d/samba start
DNS 服务器
2.7. WWW 服务
apt-get
apt-get
apt-get
apt-get
install
install
install
install
mysql+apache+php
mysql-server mysql-client
apache2
phpmyadmin
php7.0 libapache2-mod-php7.0
apache 的 默 认 文 档 根 目 录 是 在 ubuntu 上 的 /var/www 目 录 , 配 置 文 件 是 /
etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2 目录。
/var/log 存放日志文件
/etc/php
/var/lib/mysql
Php.ini
My.cnf
网站首页及目录相关设置
152.8. ftp
connect_from_port_20=YES//端口
listen_port=21//仅仅适合单个登录方式 stand alone
listen=YES//stand alone
Pasv_enble=YES//支持被动链接,一定要 yes
dirmessage_enable=YES//提示信息
dirmessage_file=.message
use_localtime=YES//使用本地时间
write_enable=YES
Connect_timeout=60//主动模式下 60s 连接不上,强制断线
Accept_timeout=60//被动。。。。
Data_connection_timeout=300//不论主动还是被动连接上,以防断线
ftpd_banner=Welcome to blah FTP service.//登录欢迎文字
与实体用户相关的设置
#guest_enable=YES//如果 yes 那么全体为 guest 了
#guest_username=zz//在上一个 yes 的前提
local_enable=YES//本地用户可登陆
Chroot_list_user=YES//将用户限制在自己的主目录之内//这东西有时候下载不了
文件下来
#chroot_list_enable=YES//chroot 写入列表功能
#chroot_list_file=/etc/vsftpd.chroot_list
16Userlist_able=YES//可一拒绝账号
Userlist_deny=YEs
Userlist_file=file
#anon_mkdir_write_enable=YES//匿名用户
#anon_upload_enable=YES
anonymous_enable=NO
Anon_unmask=077
xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log//用户下载和上传都会被记录
vim /etc/vsftpd/vsftpd. conf
#1.
与匿名用户相关的信息,在这个案例中将匿名登录取消
anonymous_enable=NO
# 2.
与实体用户相关的信息: 可写入,且 umask 为 002
write_enble=YES
local_enable=YES
local_umask=002
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user list <=-这个文件必须存在。还好,默认有此文件
# 3.
与服务器环境有关的设置
17use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam service name=vsftpd
tcp_wrappers=YEs
banner_file=/etp/ectmepex <这个文件必须存在,需手动建立亩
18

猜你喜欢

转载自blog.csdn.net/qq_33564134/article/details/80611091