如何启动,关闭和设置ubuntu防火墙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何启动,关闭和设置ubuntu防火墙相关的知识,希望对你有一定的参考价值。

由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。
ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。
最简单的一个操作:sudo ufw status可检查防火墙的状态,我的返回的是:不活动
sudo ufw version防火墙版本:
ufw 0.29-4ubuntu1
Copyright 2008-2009 Canonical Ltd.
ubuntu 系统默认已安装ufw.
1.安装
sudo apt-get install ufw
2.启用
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
3.开启/禁用
sudo ufw allow|deny [service]
打开或关闭某个端口,例如:
sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
参考技术A sudoufwstatus看看开启了没。没开启就不是防火墙的事。复杂的设置我也不会。不过可以安装gufw,界面比较简单易懂。sudoapt-getinstallgufw

ubuntu下常用命令

一、查找命令

1、whereis
whereis命令用来查找命令的位置,包括执行文件、源代码和手册页文件。记住:此处为查找位置,相对用的更多。

2、locate
可以跟-c 统计查找到的文件数量

3、find命令
find pathname -options [-print -exec -ok]
例如:find ./ notepadqq为查找当前目录下文件名为notepadqq的文件。

二、打开相应文件

1、打开pdf文件
(1)无需安装,ubuntu系统自带evince,命令为:
$ evince [name_pdf]
(2)安装FoxitReader软件
官网下载FoxitReader,然后到下载目录使用下列命令:

$ cd  ~/Downloads
$ gzip  -d  FoxitReader_version_Setup.run.tar.gz
$ tar  -xvf  FoxitReader_version_Setup.run.tar
$ ./FoxitReader_version_Setup.run

然后可以安装在制定目录了,打开pdf软件命令为:
(暂时使用时需要右键点击,用FoxitReader打开即可。)

三、查看系统资源占用

1、free
用来显示内存的使用情况,使用权限是所有用户。
参数:
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

2、uptime
用来显示任务队列信息。
| 现在的时间 | 系统开机运转到现在经过的时间 | 连线的使用者数量 | 最近一分钟,五分钟和十五分钟的系统负载 |
11:00:16 up 1 day, 2:24, 4 users, load average: 0.21, 0.25, 0.36

3、top
实时地对系统处理器的状态进行监视。
参数说明:
d: 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p: 通过指定监控进程ID来仅仅监控某个进程的状态。

4、vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 948544 93988 22672 443688 8 11 51 25 64 87 6 1 91 1

四、Ubantu解压文件

(1)zip
我们可以使用下列的命令压缩一个目录:
# zip -r archive_name.zip directory_to_compress
解压一个zip文档:
# unzip archive_name.zip
参考:https://my.oschina.net/farces/blog/727564

(2)TAR
打包文件/目录:
# tar -cvf archive_name.tar directory_to_compress
解包:
# tar -xvf archive_name.tar.gz
# tar -xvf archive_name.tar -C /tmp/extract_here/
参数详解:
-c 建立压缩档案;
-x 解压;
-v 显示所有过程;
-f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名;

(3)TAR.GZ
压缩:
# tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
# tar -zxvf archive_name.tar.gz

(4)TAR.BZ2
使用tar.bz2进行压缩:
# tar -jcvf archive_name.tar.bz2 directory_to_compress
解压缩:
# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

(5)rar
需要先安装rar解压工具,如下
sudo apt-get install rar
sudo apt-get install unrar
压缩:
rar x FileName.rar
解压:
rar a FileName.rar DirName

(6)gzip
使用以下命令直接解压缩成.tar格式,例如:
gzip -d code-stable-code.tar.gz
生成code-stable-code.tar,其中-d--decompress是一样的;

五、虚拟机ubuntu server 14.0 根目录扩容

1、修改虚拟机设置,把硬盘改为200G

2、linux终端执行命令

把新增加的150G(200G - 50G)合并到根目录
(1)查看当前磁盘列表
$ fdisk -l
列表中有以下部分信息:

Disk  /dev/sda:  214.7GB, 21447483644800 bytes

Device Boot        Start                End           Blocks        Id        System
/dev/sda1            2048           499711         248832       83           Linux
/dev/sda2        501758     419430399   209464321         5    Extended
/dev/sda5        501760     419428351   209463296       8e   Linux LVM

可以看出磁盘/dev/sda已经变成200G多了,但是根目录ubuntu14–vg-root才47.9 GB。大致有150G是未分配的。
(2)增加新分区
$ fdisk /dev/sda
根据提示输入相应的信息(此时输入m可查看help)

  • 1、根据提示先输入 n 并回车,表示增加分区

  • 2、再根据提示输入 p 并回车,表示主分区

  • 3、根据提示输入磁盘分区号,我不输入直接回车,默认3

  • 4、输入磁盘分区的起始物理地址,上面sda1、sda2、sda5的最大物理地址是419428351,所以这里我输入419428352,表示新的分区的地址时接在后面的

  • 5、输入磁盘分区的结束物理地址,这里直接回车就好,默认是最末的物理地址,这样能把后面的所有空间全部包含进来

  • 6、输入 w 并回车,开始写分区并退出

(3)再次查看磁盘列表

$ fdisk -l

发现多了一个磁盘/dev/sda3,但是ubuntu14–vg-root还是47.9 GB;

(4)重新读取分区表

partprode /dev/sda

(5)格式化分区

mkfs -t ext3 /dev/sda3

(6)新建物理卷

先执行 pvdisplay 发现物理卷还没有刚才新建的sda3,执行以下命令创建:

pvcreate /dev/sda3

再执行 pvdisplay 就发现已经有sda3了

(7)把sda3添加到卷组

先执行 vgdisplay 查看卷组,有以下信息

VG Name ubuntu14-vg
卷组名称是ubuntu14-vg,执行以下命令
vgextend ubuntu14-vg /dev/sda3
再执行 vgdisplay 查看,有以下信息
Free PE / Size 39218 / 153.20 GiB
(8)开始扩容根目录
lvs
信息列表中,VG 有 ubuntu14-vg ,LV 有 root ,这就是要扩容的根目录。执行以下命令:

vextend -L +150G /dev/ubuntu14-vg/root /dev/sda3 
resize2fs /dev/ubuntu14-vg/root

支持根目录扩容完毕。可以验证一下。
输入 fdisk -l 结果为:
Disk /dev/mapper/ubuntu14--vg-root: 208.9 GB, 208914087936 bytes
输入 df -h 结果为:
/dev/mapper/ubuntu14--vg-root 192G 34G 150G 19% /
验证完毕!

七、ubuntu 关机,重启,注销命令

1 关机命令 shutdown

  好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令

  • shutdown –help
      可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。
  • shutdown -h now 现在立即关机
  • shutdown -r now 现在立即重启
  • shutdown -r +3 三分钟后重启
  • shutdown -h +3 “The System will shutdown after 3 minutes” 提示使用者将在三分钟后关机
  • shutdown -r 20:23 在20:23时将重启计算机
  • shutdown -r 20:23 & 可以将在20:23时重启的任务放到后台去,用户可以继续操作终端

2 中断命令

  • 执行完命令后(若没有转到后台),可以使用CTRL+C来中止命令

  • kill 程序编码
    当命令在后台执行时系统会返回一个程序编码,例如:在使用 shutdown -r 20:23 & 系统返回系统编码:4905
    我们可以使用kill 4905来中止重启命令

  • ps aux | grep 程序编号
    我们如果知道程序的编号,我们可以使用ps aux |grep 程序编号来查询该程序编号对应的命令是什么。
    例如上面的程序编号为4905 ,我们可以使用ps aux | grep 4905 就可以查到 shutdown -r 20:23 & 的命令

  • halt—-最简单的关机命令
    其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

参数说明:
[-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
[-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
[-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
[-f] 没有调用shutdown而强制关机或重启。
[-i] 关机〔或重启〕前﹐关掉所有的网络接口。
[-p] 该选项为缺省选项。就是关机时调用poweroff。
  • init----init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的用户进程﹑守护进程等。
    shutdown 就是使用这种机制。init定义了8个运行级别(runlevel),init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐并且得不到使用shutdown时的信息和等待时间。

  • Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:

[root@localhost root]#logout
Red Hat Linuxrelease 9(Shike)
Kernel 2.4.20.8 on an i686
Login: ← 回到登陆的画面

八、 总结:监听进程的端口号过程

查看端口使用情况,使用netstat命令。
(1)查看已经连接的服务端口(ESTABLISHED)
     `netstat -a`
(2)查看所有的服务端口(LISTEN,ESTABLISHED)
          `netstat -ap`

(3)查看8080端口,则可以结合grep命令:

          `netstat -ap | grep 8080`

(3)如查看8888端口,则在终端中输入:

          `lsof -i:8888`

[root@localhost ~]# lsof -i :80

COMMAND   PID   USER   FD   TYPE   DEVICE SIZE NODE NAME
httpd   13450 apache    4u IPv6 13312087       TCP *:http (LISTEN)
httpd   13451 apache    4u IPv6 13312087       TCP *:http (LISTEN)

若要停止使用这个端口的程序,使用kill +对应的pid即可

九、使用ubuntu分析磁盘使用情况

安装图形工具Baobab,命令如下:
sudo apt-get install baobab
安装完毕后,会分类至应用程序, 系统工具, 磁盘分析器,或者,直接使用下列命令,在终端中运行baobab。
baobab

十、远程拷贝命令scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
(1)命令格式:
$ scp [参数] [原路径] [目标路径]
(2)命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
(3)使用实例:
a、从本地服务器复制到远程服务器
$scp local_file remote_username@remote_ip:remote_folder
$scp local_file remote_username@remote_ip:remote_file
$scp local_file remote_ip:remote_folder
$scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名

b、从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。例如:
$scp remote_username@remote_ip:remote_folder local_file
$scp root@192.168.120.204: /opt/soft/nginx-0.5.38.tar.gz /opt/soft

十一、如何启动、关闭和设置ubuntu防火墙

由于LInux原始的防火墙工具iptables过于繁琐,所以ubuntu默认提供了一个基于iptable之上的防火墙工具ufw。

ubuntu 9.10默认的便是UFW防火墙,它已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。

(1)安装

sudo apt-get install ufw

(2)启用:在系统启动时自动开启,关闭外部对本机的访问,但本机王文外部正常。

sudo ufw enable

sudo ufw default deny

(3)开启/禁用

语法:sudo ufw allow | deny [servixe]

打开或者关闭某个端口:

sudo ufw allow smtp允许所有外部IP访问本机的25/tcp(smtp)端口

sudo ufw allow 22/tcp允许所有外部IP访问本机的25/tcp(ssh)端口

sudo ufw allow 53允许外部访问53端口

sudo ufw allow from 192.168.0.1允许此IP访问所有的本机端口

(4)查看防火墙状态

sudo ufw status

十二、linux下使用convert命令修改图片分辨率

Convert的resize子命令应该是在ImageMagick中使用较多的命令,它实现了图片任意大小的缩放,唯一需要掌握的就是如何使用它的一些参数测试设定值:
命令格式:convert -resize widthxheight src.jpg dst.jpg
例如:convert -resize 240x240 34100.jpg 10000.jpg
默认都是使用像素作为单位,也可以使用百分比,参考:linux下使用convert命令修改图片分辨率

十三、ubuntu下安装Google浏览器

(1)下载deb包
针对64位x86架构:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
(2)安装deb包
sudo dpkg -i google-chrome-stable_current_amd64.deb
(3)要是软件依赖出现问题,则修复依赖
sudo apt-get -f install
----接下来出现什么问题就查询对应答案,一般直接就会安装成功----

十四、linux指令add-apt-repository ppa:xxx/ppa

这句话的意思是获取最新的个人软件包档案源,将其添加至当前apt库中,并自动导入公钥;
例如,安装notepadqq,命令为
sudo add-apt-repository ppa:notepadqq-team/notepadqq

十五、将ubuntu下的.deb包转变为centos下的.rpm包(centos操作系统下处理)

(1)需要安装alien工具:(记住默认为同一个目录,除了cd进入另一个目录)
$ wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.92.tar.gz
$ tar zxvf alien_8.92.tar.gz
$ cd alien
$ sudo yum install perl
$ sudo yum install per-ExtUtils-CBuilder per-ExtUtils-MakeMaker
$ perl Makefile.PL
$ make
$ sudo make install
(2)进行转换deb->rpm
cd到deb包所在目录;
$ sudo yum install rpm-build
可能会出现问题,此时更新以下yum,sudo yum update
$ alien -r ***.deb
rpm -ivh ***.rpm
(3)如果出现缺少动态库.so文件,则进行以下操作:
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -Uvh epel-release*.rpm
yum install qt5-qtwebkit 安装此QtWebKit,提供Web浏览器引擎;

参考文献:https://www.cnblogs.com/jackluo/p/3416648.html
参考文献:https://blog.csdn.net/kenny_lz/article/details/78884603

(4)如果安装时出现依赖错误
建议使用sudo yum install ***.rpm代替rpm -ivh ***.rpm,这样能够自动解决依赖问题,而不用专门安装特定的软件包;
参考:https://www.cnblogs.com/huidaoli/articles/3733523.html

十六、挂载硬盘

如果硬盘已经分区,操作以下命令:
vim /etc/fstab 永久性挂载配置

# / was on /dev/sda8 during installation
UUID=1ec76666-3c49-4ded-a8f9-19c98c0c655d / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda3 during installation
UUID=C2B8-E262 /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda9 during installation
UUID=dbc3a9e8-6227-46c8-9c8c-4be40623c761 /home ext4 defaults 0 2
# swap was on /dev/sda7 during installation
UUID=31b3801a-a1db-406b-8811-13cb9082a83a none swap sw 0 0
# /storage programer
UUID=286fb0dd-4c95-4942-898d-d1fd10cc8f56 /usr ext4 defaults 0 0

其中
参考:Linux 添加硬盘和挂载
参考:企业宝

十七、内存同步命令sync

在Linux/Unix系统中,在文件或数据处理过程中一般先存放到内存缓冲区中,以提高系统的运行效率。
sync命令可以用来强制将内存缓冲区中的数据立即写入磁盘中。
系统一般会自动执行update或bdflush操作,将缓冲区的数据写入磁盘。只有在这两种命令无法执行时,才需手动执行sync命令。

十八、检测系统命令vrim

vrim能够检测出系统安装了多少非自由软件,能够以百分比的形式显示。

十九、设置屏幕显示(主屏、副屏、扩展屏)

(1)查看屏幕显示器:xrandr

Screen 0: minimum 320 x 200, current 2806 x 900, maximum 8192 x 8192
eDP-1 connected 1366x768+1440+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768 60.00*+
   1360x768 59.80 59.96  
VGA-1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 410mm x 257mm
   1440x900 59.61*+
   1280x1024 75.02 60.02  
HDMI-1 disconnected (normal left inverted right x axis y axis)

如图,有三种屏幕接口,名称为:eDP-1, VGA-1, HDMI-1(本机主屏为ieDP-1,副屏为VGA-1)
(2)设置主屏
xrandr --output eDP-1 --auto --primary
其中auto表示自动分辨率,primary是主屏,eDP-1是笔记本显示屏的名字
(3)设置副屏为右扩展屏
xrandr --output eDP-1 --right-of VGA-1 --auto
(4)克隆显示双屏
xrandr --output VGA-1 --same-as eDP-1 --auto
(5)关闭显示屏
xrandr --output VGA-1 --off

二十、ubuntu增加swap交换空间

参考:https://www.linuxidc.com/Linux/2010-09/28915.htm(linux公社)
(1)查看系统swap分区
free -m
(2)创建swap文件
mkdir /swap
cd /swap
sudo dd if=/dev/zero of=swap bs=1024 count=20000000
(3)把生成的文件转换成Swap文件
sudo mkswap -f swap
(4)激活Swap文件
sudo swapon swap
free -m
(5)卸载swap 文件
sudo swapoff /swap/swap
(6)永久保持swap
可以把这个文件写入/etc/fstab,格式为:
/swap/swap none swap defaults 0 0

二十一、pdf操作软件pdftk

pdftk是一个命令行程序,使用计算机终端进行操作.
(1)将223页的pdf拆分
pdftk 123.pdf cat 1-45 output out1_45.pdf
pdftk 123.pdf cat 46-90 output out46_90.pdf
等等
pdftk A=in.pdf cat A2-20 output out.pdf
(2)将多个pdf合并
pdftk A=in1.pdf B=in2.pdf cat A1 B2-20even output out.pdf
(3)移除pdf中的某一页
pdftk in.pdf cat A1-12 A14-end output out1.pdf

二十二、进程查找ps

ps -ef | grep libreoffice查找libreoffice的所有进程,包括父进程和子进程。

二十三、查看系统版本

(1)cat /proc/version
(2)uname -a
(3)cat /etc/issue
(4)lsb_release -a

二十四、查看Linux硬盘是ssd还是hdd

(1)cat /sys/block/*/queue/rotational
判断cat /sys/block//queue/rotational的返回值(其中为你的硬盘设备名称,例如sda等等),如果返回1则表示磁盘可旋转,那么就是HDD了;反之,如果返回0,则表示磁盘不可以旋转,那么就有可能是SSD了。
(2)lsblk
使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。

二十五、Linux下查看nvidia的GPU使用情况和内存使用情况

(1)显示GPU使用情况
nvidia-smi
(2)周期性输出GPU使用情况
watch -n 10 nvidia-smi 每隔10秒显示一次显存情况
(3)显示cpu使用情况
top
参考:https://blog.csdn.net/jasonzzj/article/details/52649174
https://blog.csdn.net/daiyudong2020/article/details/52760993

二十六、Linux查看物理CPU个数、核数、逻辑CPU个数

*总核数 = 物理CPU个数 X 每颗物理CPU的核数 *
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
(1)查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
(2)查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
(3)查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

以上是关于如何启动,关闭和设置ubuntu防火墙的主要内容,如果未能解决你的问题,请参考以下文章

如何在Ubuntu 16.04上使用UFW设置防火墙

ubuntu中如何关闭防火墙?

ubuntu防火墙设置

如何配置Ubuntu 14.04中的IPTables防火墙

redhat6 如何启动防火墙?

转Ubuntu防火墙设置