fedora中iptables与firewall的关系

2014年3月13日 16:09

fedora上有两个防火墙iptables和firewall.
 
它们间的关系
iptables用于过滤数据包,属于网络层防火墙.
firewall能够允许哪些服务可用,那些端口可用.... 属于更高一层的防火墙。
 
firewall的底层是使用iptables进行数据过滤,建立在iptables之上。
 
默认的iptables配置
[wyq@localhost ~]$ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 
 
firewall启动后,查看iptables的配置
可以看到,firewall修改了iptables中链路
[wyq@localhost sysconfig]$ sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
INPUT_direct  all  --  0.0.0.0/0            0.0.0.0/0           
INPUT_ZONES_SOURCE  all  --  0.0.0.0/0            0.0.0.0/0           
INPUT_ZONES  all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED

...........
 
 
firewall可以提供高层的防火墙。
 
所以fedora系统中的设置防火墙,最好使用firewall
 

Tags: 防火墙;firewall;iptables
评论(2) 阅读(2530)

iptables用法

2014年3月13日 15:44

iptables过滤网络包. 属于网络层防火墙.
 
命令行设置
  • 启用端口
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
 
  • 保存配置
sudo serivce iptables save
 
  • 重启iptables,使配置生效
sudo serivce iptables restart
 
配置文件
  • 永久生效
修改/etc/sysconfig/iptables文件
-A INPUT -p tcp --dport 8080 -j ACCEPT
注意要加在最后一个COMMIT前
 
否则会出现错误
Redirecting to /bin/systemctl restart  iptables.service
Job for iptables.service failed. See 'systemctl status iptables.service' and 'journalctl -xn' for details.
 
 
基本用法
  •  查看本机iptables设置
iptables -L -n
 
  •  启用端口
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
 
  •  禁用端口
iptables -A INPUT -p tcp --dport 8000 -j REJECT
 
  •  清除规则
iptables -F   清除filter中的所有规则链的规则
iptables -X   清除filter中使用者自定链中的规则
 

Tags: 防火墙
评论(0) 阅读(1012)

fedora的firewall配置

2014年3月13日 14:16

iptables可以过滤数据包,属于网络层的防火墙。fedora中还有一层防火墙软件firewall。属于更高一层的防火墙,并且是动态防火墙,修改配置后,会自动生效,不需要重启。
可以控制服务,控制端口,设置安全区域,设置端口转发等功能。
 
配置工具
1. firewall-config 图形配置界面
2. firewall-cmd 命令行配置
 
firewall-cmd用法
启用端口
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
示例
firewall-cmd --add-port=8080/tcp
禁用端口
firewall-cmd [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
示例
firewall-cmd --remove-port=8080/tcp
 
启用服务
firewall-cmd [--zone=<zone>] --add-service=<service> [--timeout=<seconds>]
示例
firewall-cmd --add-service=http
禁用服务
firewall-cmd [--zone=<zone>] --remove-service=<service>
示例
firewall-cmd --zone=home --remove-service=http
 
上面是临时配置,系统重启后会失效。
如果加上参数--permanent,就会永久配置,重启后依然有效。
 
 

 

Tags: fedora;firewall;防火墙
评论(0) 阅读(1835)

ssh在远程执行多个命令

2014年1月21日 11:18

执行单个命令

ssh wyq@135.32.9.98 'ps -ef |grep process.py'

在远程主机上执行命令"ps -ef |grep process.py",在本机就可以看到输出.

使用分号分隔,允许一次执行多个命令

ssh wyq@135.32.9.98 'cd ~/src; sh start.sh'

进入到~/src目录,然后执行脚本sh start.sh

 

评论(0) 阅读(2719)

yum更新initscripts和selinux失败

2014年1月20日 09:32

来源 http://stevenrosenberg.net/blog/linux/fedora/2014_0118_fedora_update_scriptlet_problem

最近在fedora20中用yum更新,会出现问题

[wyq@localhost ~]$ sudo yum -y  update
已加载插件:fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirrors.yun-idc.com
 * fedora-sohu: mirrors.yun-idc.com
 * updates: mirrors.yun-idc.com
 * updates-sohu: mirrors.yun-idc.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 initscripts.x86_64.0.9.50-1.fc20 将被 升级
---> 软件包 initscripts.x86_64.0.9.51-1.fc20 将被 更新
---> 软件包 selinux-policy-targeted.noarch.0.3.12.1-116.fc20 将被 升级
---> 软件包 selinux-policy-targeted.noarch.0.3.12.1-117.fc20 将被 更新
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package                     架构       版本                  源           大小
================================================================================
正在更新:
 initscripts                 x86_64     9.51-1.fc20           updates     414 k
 selinux-policy-targeted     noarch     3.12.1-117.fc20       updates     3.6 M

事务概要
================================================================================
升级  2 软件包

总下载量:4.0 M
Downloading packages:
Delta RPMs reduced 414 k of updates to 194 k (53% saved)
(1/2): initscripts-9.50-1.fc20_9.51-1.fc20.x86_64.drpm     | 194 kB   00:01     
(2/2): selinux-policy-targeted-3.12.1-117.fc20.noarch.rpm  | 3.6 MB   00:13     
--------------------------------------------------------------------------------
总计                                               253 kB/s | 3.8 MB  00:15     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
error: %pre(initscripts-9.51-1.fc20.x86_64) scriptlet failed, exit status 127
Error in PREIN scriptlet in rpm package initscripts-9.51-1.fc20.x86_64
error: initscripts-9.51-1.fc20.x86_64: install failed
error: %pre(selinux-policy-targeted-3.12.1-117.fc20.noarch) scriptlet failed, exit status 127
Error in PREIN scriptlet in rpm package selinux-policy-targeted-3.12.1-117.fc20.noarch
initscripts-9.50-1.fc20.x86_64 was supposed to be removed but is not!
  验证中      : initscripts-9.50-1.fc20.x86_64                              1/4 
  验证中      : selinux-policy-targeted-3.12.1-117.fc20.noarch              2/4 
selinux-policy-targeted-3.12.1-116.fc20.noarch was supposed to be removed but is not!
  验证中      : selinux-policy-targeted-3.12.1-116.fc20.noarch              3/4 
  验证中      : initscripts-9.51-1.fc20.x86_64                              4/4 

失败:
  initscripts.x86_64 0:9.50-1.fc20                                              
  initscripts.x86_64 0:9.51-1.fc20                                              
  selinux-policy-targeted.noarch 0:3.12.1-116.fc20                              
  selinux-policy-targeted.noarch 0:3.12.1-117.fc20 

需要关闭selinux

sudo setenforce 0 //临时关闭selinux

sudo yum -y update //此时再更新,即可

sudo setenforce 1 //开启selinux

评论(0) 阅读(815)

在用proxychains时, ping用不了怎么办

2014年1月16日 10:49

一般用ping来测试网络是否连通. 在用proxychains代理时,发现ping用不了
[wyq@localhost ~]$ proxychains ping 135.32.9.98
ProxyChains-3.1 (http://proxychains.sf.net)
ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded: ignored.
PING 135.32.9.98 (135.32.9.98) 56(84) bytes of data.
proxychains支持的是socks,http, https协议.它们以tcp或者udp协议为基础. 所以proxychains只支持使用tcp或udp协议的程序. ping用的是ICMP协议,不以tcp或udp为基础,所以用不了。
 
有其它办法吗?
以tcp或udp为基础,测试网络是否可用的工具,比较好用的有wget
[wyq@localhost ~]$ proxychains wget 135.32.9.98
ProxyChains-3.1 (http://proxychains.sf.net)
--2014-01-16 09:44:57--  http://135.32.9.98/
正在连接 135.32.9.98:80... |S-chain|-<>-192.168.1.115:1080-<><>-135.32.9.98:80-<--denied
失败:拒绝连接。
虽然提示拒绝连接,但是输出信息,已能说明网络连通了.
 
wget本身简单易用,在这种情况下,用来测试网络是否可用,还是比较适合的。
 

评论(0) 阅读(1835)

内网到外网的隧道

2014年1月15日 23:22

今天需要在内网机器上安装一个包,而且没有与系统版本匹配的rpm. 所以只能自己编译安装。编译时出现错误,原因是系统没有安装gcc. 只好再安装gcc,然而再次出现问题,发现缺少gcc的依赖了,而且是一堆的依赖包. 没有办法,只能再一个个安装依赖包. 相信手动安装过linux软件的人,能够深深体会到相互依赖问题会让人有多痛苦。 好不容找到这些特定版本的包,最后出现悲剧了,貌似其中几个依赖包,由版本比较老,网上已经没有了。而且由于内核版本的原因,gcc也只能安装这个版本的。
 
结果出现了安装某个包,需要gcc,安装gcc,需要依赖包,部分依赖包找不到。并且内核限制了只能安装这个版本的gcc。并且系统的安装盘是精简版的,没有常用软件的安装包.
 
找依赖包已经让人很痛苦了,结果是这样,让人很恼火. 下定决心要在内网机器上使用yum,用它来解决这个问题。
为达到这个目的,需要在内网和外网间搭一条隧道,让内网能访问外网。
 
工作的网络环境
工作是在外网,系统在独立的内部网络。在外网访问内网需要通过专门的vpn软件。
这个vpn软件,只能运行在windows下,使外网机器拥有临时的内网地址,运行时外网机器不能访问外网。
 
其中网内到外网的端口转发
proxychains ssh  -N -D 1090 wyq@192.168.1.102
 
这里面最要的不是怎么建数据通道,而是怎么绕过这个特定的vpn软件.
工作原因实现方法只能略说.
 
 
 

Tags: ssh proxychains
评论(0) 阅读(734)

yum查找多个词

2014年1月14日 11:28

yum search不支持多个关键词,可以用grep

sudo yum search xdot |grep viewer

 

评论(0) 阅读(643)

fedora20远程桌面

2014年1月13日 16:05

通过代理远程登陆其它网段的机器,要以命令行方式启动远程桌面. 

在fedora20以前,启动远程桌面的命令是rdesktop。目前的fedora20中未提供rdesktop,需要自己安装

[wyq@localhost workspace]$ sudo yum install rdesktop

或者使用vinagre命令启动

[wyq@localhost workspace]$ vinagre

评论(0) 阅读(1415)

ssh别名登录

2013年12月31日 17:11

经常使用ssh远程登录,每次都敲一长串字符。重复多了,有砸键盘的冲动。后来发现可用别名代替。

在~/.ssh/config 中加入以下内容

Host mt98   //快捷名
HostName 135.32.9.98 //主机名
User monitor  //用户名

然后可用ssh mt98登陆

运行时出现错误

ssh: Could not resolve hostname mt98: Name or service not known

config文件需要改成和known_hosts的所有者一致.

Tags: ssh
评论(0) 阅读(933)